Main Page

GAP Audio System Documentation

Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


File Index

GAP Audio System File List

Here is a list of all documented files with brief descriptions:
  • IAudio.h [code]
  • IAudioExt.h [code]
  • IAudioStream.h [code]
  • IMusic.h [code]
  • ISound.h [code]
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IAudio.h File Reference

Go to the source code of this file.

Compounds

struct | AudioMgrInit
Initialization structure for the IAudioManager class. More...

struct | AudioMgrStats
Statistics structure for the IAudioManager class. More...

struct | AudioScriptInit
Initialization structure for the IAudioScript class. More...

struct | DLSInit
Initialization structure for the IDLS class. More...

class | IAudioBase
Base class defining common interface of all managed audio components. More...

class | IAudioManager
The audio manager controls all low-level audio components. More...

class | IAudioScript
IAudioScript is the interface for DirectMusic script objects. More...

class | IDLS
Interface structure for DLS collections. More...

class | IListener
IListener represents the listener around which 3D sounds are oriented and positioned. More...

class | IMusicCallback
Music callback interface. More...

class | IPlayable
Base class defining common interface of all playable audio components. More...

class | ISegment
ISegment is the interface for segment audio objects. More...

class | ISound
ISound is the interface for 2D sound objects. More...

class | ISound3D
ISound3D is the interface for 3D sound objects. More...

struct | ListenerInit
This structure contains all parameters needed for the IListener initialization. More...

struct | ListenerProp
This structure contains all the 3D properties of the listener. More...

struct | SegmentInit
Initialization structure for the ISegment class. More...

struct | Sound3DInit
Initialization structure for the 3D ISound3D class. More...

struct | Sound3DProp
Property class representing all commonly modified run-time sound properties. More...

struct | SoundInit
2D sound initialization structure. More...

struct | SoundProp
2D sound properties structure. More...

Functions

IAudioManager* AudioMgr ()

Detailed Description

Function Documentation

IAudioManager * AudioMgr ( ) [inline]

AudioMgr() is used to access a single static audio manager object from anywhere in the code.

See also:
IAudioManager

Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IAudio.h Source File

IAudio.h

Go to the documentation of this file.
00001 /***********************************************************\
00002 Copyright (C) James Boer, 2002.
00003 All rights reserved worldwide.
00004
00005 This software is provided "as is" without express or implied
00006 warranties. You may freely copy and compile this source into
00007 applications you distribute provided that the copyright text
00008 below is included in the resulting source code, for example:
00009 "Portions Copyright (C) James Boer, 2002"
00010 \***********************************************************/
00011 #ifndef __IAUDIO_H__
00012 #define __IAUDIO_H__
00013
00014 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00015 namespace Audio
00016 {
00017 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00018
00020
00022 static const float VOLUME_MIN                   = 0.0f;
00024 static const float VOLUME_MAX                   = 1.0f;
00026 static const float PAN_LEFT                             = -1.0f;
00028 static const float PAN_CENTER                   = 0.0f;
00030 static const float PAN_RIGHT                    = 1.0f;
00032 static const float PITCH_ORIGINAL               = 1.0f;
00034 static const uint32 MODE_NORMAL                 = 0x00000000;
00036 static const uint32 MODE_HEADRELATIVE   = 0x00000001;
00038 static const uint32 MODE_DISABLE                = 0x00000002;
00039
00040
00042
00052 class IAudioBase
00053 {
00054 public:
00061         virtual void Destroy() = 0;
00062
00067         virtual bool IsInitialized() const = 0;
00068
00077         virtual bool Load() = 0;
00084         virtual bool Unload() = 0;
00090         virtual bool IsLoaded() const = 0;
00091
00092 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00093 protected:
00094         virtual ~IAudioBase() {};
00095 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00096
00097 };
00098
00099
00101
00111 class IPlayable : public IAudioBase
00112 {
00113 public:
00114
00120         virtual bool Play() = 0;
00128         virtual bool Pause() = 0;
00133         virtual bool Stop() = 0;
00134
00140         virtual bool IsPlaying() const = 0;
00146         virtual bool IsPaused() const = 0;
00151         virtual bool IsLooping() const = 0;
00152 };
00153
00155
00160 struct SoundProp
00161 {
00165         SoundProp()     { Clear(); }
00169         void Clear()
00170         {
00171                 m_fVolume = VOLUME_MAX;
00172                 m_fPan = PAN_CENTER;
00173                 m_fPitch = PITCH_ORIGINAL;
00174                 m_nReadCursor = 0;
00175         }
00177         float   m_fVolume;
00179         float   m_fPan;
00181         float   m_fPitch;
00183         uint32  m_nReadCursor;
00184
00185 };
00186
00188
00195 struct SoundInit
00196 {
00200         SoundInit()     { Clear(); }
00204         void Clear()
00205         {
00206                 m_sFileName.erase();
00207                 m_bStreaming = false;
00208                 m_bLooping = false;
00209                 m_bMusic = false;
00210                 m_nPriority = 0;
00211                 m_Prop.Clear();
00212         }
00214         std::string m_sFileName;
00216         bool            m_bStreaming;
00218         bool            m_bLooping;
00220         bool            m_bMusic;
00222
00226         uint32          m_nPriority;
00228
00232         SoundProp       m_Prop;
00233 };
00234
00235
00237
00242 class ISound : public IPlayable
00243 {
00244 public:
00253         virtual bool Init(const SoundInit& init) = 0;
00254
00261         virtual bool SetProperties(const SoundProp& prop) = 0;
00268         virtual bool GetProperties(SoundProp& prop) const = 0;
00269
00278         virtual bool SetVolume(float fVolume) = 0;
00285         virtual bool GetVolume(float& fVolume) const = 0;
00286
00295         virtual bool SetPan(float fPan) = 0;
00303         virtual bool GetPan(float& fPan) const = 0;
00304
00313         virtual bool SetPitch(float fPitch) = 0;
00319         virtual bool GetPitch(float& fPitch) const = 0;
00320
00327         virtual bool SetReadCursor(uint32 nBytes) = 0;
00334         virtual bool GetReadCursor(uint32& nBytes) const = 0;
00335
00341         virtual bool GetSourceSize(uint32& nBytes) const = 0;
00342 };
00343
00344
00346
00351 struct Sound3DProp
00352 {
00356         Sound3DProp()   { Clear(); }
00360         void Clear()
00361         {
00362                 m_vPosition.x = 0;  m_vPosition.y = 0;  m_vPosition.z = 0;
00363                 m_vVelocity.x = 0;  m_vVelocity.y = 0;  m_vVelocity.z = 0;
00364                 m_vConeOrientation.x = 0;  m_vConeOrientation.y = 0;  m_vConeOrientation.z = 1.0f;
00365                 m_nInsideConeAngle = 360;
00366                 m_nOutsideConeAngle = 360;
00367                 m_fConeOutsideVolume = VOLUME_MAX;
00368                 m_fMinDistance = 1.0f;
00369                 m_fMaxDistance = 1000.0f;
00370                 m_nMode = MODE_NORMAL;
00371                 m_fVolume = VOLUME_MAX;
00372                 m_fPitch = PITCH_ORIGINAL;
00373                 m_nReadCursor = 0;
00374         }
00376         AUDIOVECTOR     m_vPosition;
00378         AUDIOVECTOR     m_vVelocity;
00380         AUDIOVECTOR     m_vConeOrientation;
00382
00385         uint32          m_nInsideConeAngle;
00387
00390         uint32          m_nOutsideConeAngle;
00392         float           m_fConeOutsideVolume;
00394         float           m_fMinDistance;
00396         float           m_fMaxDistance;
00398
00401         uint32          m_nMode;
00403         float   m_fVolume;
00405         float   m_fPitch;
00407         uint32  m_nReadCursor;
00408 };
00409
00410
00412
00418 struct Sound3DInit
00419 {
00423         Sound3DInit()   { Clear(); }
00427         void Clear()
00428         {
00429                 m_sFileName.erase();
00430                 m_bStreaming = false;
00431                 m_bLooping = false;
00432                 m_bMusic = false;
00433                 m_nPriority = 0;
00434                 m_Prop.Clear();
00435         }
00437         std::string m_sFileName;
00439         bool            m_bStreaming;
00441         bool            m_bLooping;
00443         bool            m_bMusic;
00445
00449         uint32          m_nPriority;
00451
00455         Sound3DProp     m_Prop;
00456 };
00457
00458
00460
00466 class ISound3D : public IPlayable
00467 {
00468 public:
00477         virtual bool Init(const Sound3DInit& init) = 0;
00478
00485         virtual bool SetProperties(const Sound3DProp& prop) = 0;
00492         virtual bool GetProperties(Sound3DProp& prop) const = 0;
00493
00500         virtual bool SetPosition(const AUDIOVECTOR& vPosition) = 0;
00507         virtual bool GetPosition(AUDIOVECTOR& vPosition) const = 0;
00508
00515         virtual bool SetVelocity(const AUDIOVECTOR& vVelocity) = 0;
00522         virtual bool GetVelocity(AUDIOVECTOR& vVelocity) const = 0;
00523
00530         virtual bool SetMaxDistance(float fMaxDist) = 0;
00537         virtual bool GetMaxDistance(float& fMaxDist) const = 0;
00538
00545         virtual bool SetMinDistance(float fMinDist) = 0;
00552         virtual bool GetMinDistance(float& fMinDist) const = 0;
00553
00562         virtual bool SetConeAngles(uint32 nInside, uint32 nOutside) = 0;
00571         virtual bool GetConeAngles(uint32& nInside, uint32& nOutside) const = 0;
00572
00579         virtual bool SetConeOrientation(const AUDIOVECTOR& vOrientation) = 0;
00586         virtual bool GetConeOrientation(AUDIOVECTOR& vOrientation) const = 0;
00587
00595         virtual bool SetConeOutsideVolume(float fVolume) = 0;
00603         virtual bool GetConeOutsideVolume(float& fVolume) const = 0;
00604
00617         virtual bool SetMode(uint32 nMode) = 0;
00624         virtual bool GetMode(uint32& nMode) const = 0;
00625
00634         virtual bool SetVolume(float fVolume) = 0;
00641         virtual bool GetVolume(float& fVolume) const = 0;
00642
00651         virtual bool SetPitch(float fPitch) = 0;
00657         virtual bool GetPitch(float& fPitch) const = 0;
00658
00665         virtual bool SetReadCursor(uint32 nBytes) = 0;
00672         virtual bool GetReadCursor(uint32& nBytes) const = 0;
00673
00679         virtual bool GetSourceSize(uint32& nBytes) const = 0;
00680
00687         virtual IEAXBuffer* EAX() = 0;
00688
00695         virtual IZoomFX* ZoomFX() = 0;
00696
00697
00708         virtual bool QuerySupport(const GUID& guid, uint32 nID, uint32* pTypeSupport) = 0;
00716         virtual bool Get(const GUID& guidProperty, uint32 nID, void* pInstanceData,
00717                 uint32 nInstanceLength, void* pPropData, uint32 nPropLength,
00718                 uint32* pBytesReturned) = 0;
00729         virtual bool Set(const GUID& guidProperty, uint32 nID, void* pInstanceData,
00730                 uint32 nInstanceLength, void* pPropData, uint32 nPropLength,
00731                 bool bStoreProperty) = 0;
00732 };
00733
00734
00736
00742 struct DLSInit
00743 {
00747         DLSInit()       {  Clear();  }
00751         void Clear()
00752         {
00753                 m_sFileName.erase();
00754         }
00755
00757         std::string             m_sFileName;
00758 };
00759
00761
00768 class IDLS : public IAudioBase
00769 {
00770 public:
00771
00780         virtual bool Init(const DLSInit& init) = 0;
00790         virtual bool Lock() = 0;
00797         virtual bool Unlock() = 0;
00798
00799 };
00800
00801
00803
00809 struct SegmentInit
00810 {
00814         SegmentInit()   { Clear(); }
00818         void Clear()
00819         {
00820                 m_sFileName.erase();
00821                 m_bMusic = true;
00822                 m_bLooping = false;
00823                 m_pDLS = 0;
00824         }
00826
00830         std::string                     m_sFileName;
00832         bool                            m_bLooping;
00834         bool                            m_bMusic;
00836
00841         IDLS*                           m_pDLS;
00842
00843 };
00844
00845
00847
00854 class ISegment : public IPlayable
00855 {
00856 public:
00864         virtual bool Init(const SegmentInit& init) = 0;
00865
00866 };
00867
00869
00875 struct AudioScriptInit
00876 {
00880         AudioScriptInit()       { Clear(); }
00884         void Clear()
00885         {
00886                 m_sFileName.erase();
00887                 m_bMusic = true;
00888         }
00890         std::string                     m_sFileName;
00892         bool                            m_bMusic;
00893
00894 };
00895
00897
00902 class IAudioScript : public IAudioBase
00903 {
00904 public:
00912         virtual bool Init(const AudioScriptInit& init) = 0;
00913
00921         virtual bool SetVariable(std::string sVarName, int32 iVal) = 0;
00929         virtual bool GetVariable(std::string sVarName, int32& iVal) = 0;
00930
00937         virtual bool CallRoutine(std::string sRoutineName) = 0;
00938 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00939 protected:
00940         virtual ~IAudioScript() {};
00941 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00942 };
00943
00944
00946 struct ListenerProp
00947 {
00949         ListenerProp()  {  Clear();  }
00951         void Clear()
00952         {
00953                 m_vPosition.x = 0.0f; m_vPosition.y = 0.0f; m_vPosition.z = 0.0f;
00954                 m_vVelocity.x = 0.0f; m_vVelocity.y = 0.0f; m_vVelocity.z = 0.0f;
00955                 m_vOrientFront.x = 0.0f; m_vOrientFront.y = 0.0f; m_vOrientFront.z = 1.0f;
00956                 m_vOrientTop.x = 0.0f; m_vOrientTop.y = 1.0f; m_vOrientTop.z = 0.0f;
00957                 m_fDistanceFactor = 1.0f;
00958                 m_fRolloffFactor = 1.0f;
00959                 m_fDopplerFactor = 1.0f;
00960         }
00962         AUDIOVECTOR     m_vPosition;
00964         AUDIOVECTOR     m_vVelocity;
00966         AUDIOVECTOR     m_vOrientFront;
00968         AUDIOVECTOR     m_vOrientTop;
00970         float           m_fDistanceFactor;
00972
00975         float           m_fRolloffFactor;
00977
00980         float           m_fDopplerFactor;
00981 };
00982
00984 struct ListenerInit
00985 {
00987         ListenerInit()  {  Clear();  }
00989         void Clear()
00990         {
00991                 m_Prop.Clear();
00992         }
00993         ListenerProp    m_Prop;
00994 };
00995
00996
00998
01003 class IListener
01004 {
01005 public:
01006
01013         virtual bool Init(const ListenerInit& init) = 0;
01020         virtual void Term() = 0;
01021
01028         virtual bool SetProperties(const ListenerProp& prop) = 0;
01034         virtual void GetProperties(ListenerProp& prop) const = 0;
01035
01042         virtual bool SetPosition(const AUDIOVECTOR& vPos) = 0;
01048         virtual void GetPosition(AUDIOVECTOR& vPos) const = 0;
01049
01056         virtual bool SetVelocity(const AUDIOVECTOR& vVel) = 0;
01062         virtual void GetVelocity(AUDIOVECTOR& vVel) const = 0;
01063
01071         virtual bool SetOrientation(const AUDIOVECTOR& vFront, const AUDIOVECTOR& vTop) = 0;
01078         virtual void GetOrientation(AUDIOVECTOR& vFront, AUDIOVECTOR& vTop) const = 0;
01079
01086         virtual bool SetDistanceFactor(float fDistanceFactor) = 0;
01092         virtual void GetDistanceFactor(float& fDistanceFactor) const = 0;
01093
01103         virtual bool SetDopplerFactor(float fDopplerFactor) = 0;
01110         virtual void GetDopplerFactor(float& fDopplerFactor) const = 0;
01111
01119         virtual bool SetRolloffFactor(float fRolloffFactor) = 0;
01126         virtual void GetRolloffFactor(float& fRolloffFactor) const = 0;
01127
01138         virtual bool QuerySupport(const GUID& guid, uint32 nID, uint32* pTypeSupport) = 0;
01146         virtual bool Get(const GUID& guidProperty, uint32 nID, void* pInstanceData,
01147                 uint32 nInstanceLength, void* pPropData, uint32 nPropLength,
01148                 uint32* pBytesReturned) = 0;
01156         virtual bool Set(const GUID& guidProperty, uint32 nID, void* pInstanceData,
01157                 uint32 nInstanceLength, void* pPropData, uint32 nPropLength,
01158                 bool bStoreProperty) = 0;
01159
01160         virtual IEAXListener* EAX() = 0;
01161 };
01162
01164
01170 class IMusicCallback
01171 {
01172 public:
01176         virtual void OnSegmentStart()   {};
01177 };
01178
01179
01181
01185 struct AudioMgrInit
01186 {
01190         AudioMgrInit()  { Clear(); }
01194         void Clear()
01195         {
01196                 m_hWnd = (HWND)0;
01197                 m_bLoadAsyncronously = true;
01198                 m_bForceSoftware = false;
01199                 m_bUseMusicReverb = true;
01200                 m_bUseEAX = true;
01201                 m_bUseZoomFX = true;
01202                 m_bAutoStream = false;
01203                 m_bCacheBuffers = false;
01204                 m_n2DHardwareBufferMin = 8;
01205                 m_n3DHardwareBufferMin = 8;
01206                 m_n2DHardwareBufferMax = 256;
01207                 m_n3DHardwareBufferMax = 256;
01208                 m_n2DSoftwareBufferMax = 256;
01209                 m_n3DSoftwareBufferMax = 256;
01210                 m_nSegmentMax = 256;
01211                 m_nOptimalSampleBits = 16;
01212                 m_nOptimalSampleRate = 44100;
01213                 m_sWorkingPath.erase();
01214                 m_pAudioStreamFactory = 0;
01215                 m_pMusicCallback = 0;
01216         }
01218         HWND                                    m_hWnd;
01220         bool                                    m_bLoadAsyncronously;
01222         bool                                    m_bForceSoftware;
01224         bool                                    m_bUseMusicReverb;
01226         bool                                    m_bUseEAX;
01228         bool                                    m_bUseZoomFX;
01230         bool                                    m_bAutoStream;
01232         bool                                    m_bCacheBuffers;
01234         uint32                                  m_n2DHardwareBufferMin;
01236         uint32                                  m_n3DHardwareBufferMin;
01238         uint32                                  m_n2DHardwareBufferMax;
01240         uint32                                  m_n3DHardwareBufferMax;
01242         uint32                                  m_n2DSoftwareBufferMax;
01244         uint32                                  m_n3DSoftwareBufferMax;
01246         uint32                                  m_nSegmentMax;
01248         uint32                                  m_nOptimalSampleBits;
01250         uint32                                  m_nOptimalSampleRate;
01252
01257         std::string                             m_sWorkingPath;
01259         IAudioStreamFactory*    m_pAudioStreamFactory;
01261         IMusicCallback*                 m_pMusicCallback;
01262
01263 };
01264
01266
01270 struct AudioMgrStats
01271 {
01275         AudioMgrStats() { Clear(); }
01279         void Clear()
01280         {
01281                 m_bForce2DSoftware = false;
01282                 m_bForce3DSoftware = false;
01283                 m_n2DSoundsLoaded = 0;
01284                 m_n3DSoundsLoaded = 0;
01285                 m_nSegmentsLoaded = 0;
01286         }
01288         bool    m_bForce2DSoftware;
01290         bool    m_bForce3DSoftware;
01292         uint32  m_n2DSoundsLoaded;
01294         uint32  m_n3DSoundsLoaded;
01296         uint32  m_nSegmentsLoaded;
01297 };
01298
01299
01301
01308 class IAudioManager
01309 {
01310 public:
01311
01320         virtual bool Init(const AudioMgrInit& init) = 0;
01327         virtual void Term() = 0;
01328
01333         virtual bool IsInitialized() const = 0;
01334
01341         virtual bool GetStats(AudioMgrStats& stats) const = 0;
01342
01348         virtual bool CreateSound(ISound*& pSound) = 0;
01354         virtual bool CreateSound3D(ISound3D*& pSound3D) = 0;
01360         virtual bool CreateSegment(ISegment*& pSegment) = 0;
01366         virtual bool CreateDLS(IDLS*& pDLS) = 0;
01367
01373         virtual bool CreateAudioScript(IAudioScript*& pScript) = 0;
01374
01381         virtual bool GetListener(IListener*& pListener) = 0;
01382
01390         virtual bool SetSoundVolume(float fVolume) = 0;
01397         virtual bool GetSoundVolume(float& fVolume) const = 0;
01398
01406         virtual bool SetMusicVolume(float fVolume) = 0;
01413         virtual bool GetMusicVolume(float& fVolume) const = 0;
01414
01420         virtual bool StopAll() = 0;
01426         virtual bool PauseAll() = 0;
01433         virtual bool ResumeAll() = 0;
01434
01442         virtual bool GetCurrentSegment(ISegment*& pSegment) const = 0;
01450         virtual bool GetNextSegment(ISegment*& pSegment) const = 0;
01451
01460         virtual bool CreateAudioStream(IAudioStream*& pStream) = 0;
01461 };
01462
01468 inline IAudioManager* AudioMgr()
01469 {  return AudioLibFactory::GetAudioMgr();  }
01470
01471 #ifndef DOXYGEN_SHOULD_SKIP_THIS
01472 }; // namespace Audio
01473 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
01474
01475 #endif // __IAUDIO_H__
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IAudioExt.h File Reference

#include "3dl2.h"
#include "3dl2help.h"
#include "eax.h"
#include "ZoomFX.h"

Go to the source code of this file.

Compounds

struct | EAXBufferProps
EAXBufferProps is used to set all EAX buffer properties at once. More...

struct | EAXListenerProps
EAXListenerProps is used to set all EAX listener properties at once. More...

class | IEAXBuffer
Public EAX buffer interface extension. More...

class | IEAXListener
Public EAX listener interface extension. More...

class | IZoomFX
Public ZoomFX buffer interface extension. More...

struct | ZoomFXBox
ZoomFXBox is used to set all ZoomFX orientation properties. More...

struct | ZoomFXOrientation
ZoomFXOrientation is used to set all ZoomFX orientation properties. More...

struct | ZoomFXProps
ZoomFXProps is used to set all ZoomFX buffer properties at once. More...

Detailed Description

Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IAudioExt.h Source File

IAudioExt.h

Go to the documentation of this file.
00001 /***********************************************************\
00002 Copyright (C) James Boer, 2002.
00003 All rights reserved worldwide.
00004
00005 This software is provided "as is" without express or implied
00006 warranties. You may freely copy and compile this source into
00007 applications you distribute provided that the copyright text
00008 below is included in the resulting source code, for example:
00009 "Portions Copyright (C) James Boer, 2002"
00010 \***********************************************************/
00011 #ifndef IAUDIOEXT_H__
00012 #define IAUDIOEXT_H__
00013
00014 #include "3dl2.h"
00015 #include "3dl2help.h"
00016 #include "eax.h"
00017 #include "ZoomFX.h"
00018
00019 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00020 namespace Audio
00021 {
00022 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00023
00025
00027
00036 struct EAXListenerProps : public _EAXLISTENERPROPERTIES
00037 {
00039         EAXListenerProps()
00040         {  Clear();  }
00042         void Clear()
00043         {
00044                 lRoom = EAXLISTENER_DEFAULTROOM;
00045                 lRoomHF = EAXLISTENER_DEFAULTROOMHF;
00046                 flRoomRolloffFactor = EAXLISTENER_DEFAULTROOMROLLOFFFACTOR;
00047                 flDecayTime = EAXLISTENER_DEFAULTDECAYTIME;
00048                 flDecayHFRatio = EAXLISTENER_DEFAULTDECAYHFRATIO;
00049                 lReflections = EAXLISTENER_DEFAULTREFLECTIONS;
00050                 flReflectionsDelay = EAXLISTENER_DEFAULTREFLECTIONSDELAY;
00051                 lReverb = EAXLISTENER_DEFAULTREVERB;
00052                 flReverbDelay = EAXLISTENER_DEFAULTREVERBDELAY;
00053                 dwEnvironment = EAXLISTENER_DEFAULTENVIRONMENT;
00054                 flEnvironmentSize = EAXLISTENER_DEFAULTENVIRONMENTSIZE;
00055                 flEnvironmentDiffusion = EAXLISTENER_DEFAULTENVIRONMENTDIFFUSION;
00056                 flAirAbsorptionHF = EAXLISTENER_DEFAULTAIRABSORPTIONHF;
00057                 dwFlags = EAXLISTENER_DEFAULTFLAGS;
00058         }
00059 };
00060
00062
00072 class IEAXListener
00073 {
00074 public:
00075
00080         virtual void SetRoom(int32 iRoom) = 0;
00085         virtual void SetRoomHF(int32 iRoomHF) = 0;
00090         virtual void SetRoomRolloffFactor(float fRoomRolloffFactor) = 0;
00095         virtual void SetDecayTime(float fDecayTime) = 0;
00100         virtual void SetDecayHFRatio(float fDecayHFRatio) = 0;
00105         virtual void SetReflections(int32 iReflections) = 0;
00110         virtual void SetReflectionsDelay(float fReflectionsDelay) = 0;
00115         virtual void SetReverb(int32 iReverb) = 0;
00121         virtual void SetReverbDelay(float fReverbDelay) = 0;
00126         virtual void SetEnvironment(uint32 nEnvironment) = 0;
00131         virtual void SetEnvironmentSize(float fEnvironmentSize) = 0;
00136         virtual void SetEnvironmentDiffusion(float fEnvironmentDiffusion) = 0;
00141         virtual void SetAirAbsorptionHF(float fAirAbsorption) = 0;
00146         virtual void SetFlags(uint32 nFlags) = 0;
00151         virtual void SetProperties(const EAXListenerProps& props) = 0;
00156         virtual void GetProperties(EAXListenerProps& props) = 0;
00157 };
00158
00160
00169 struct EAXBufferProps : public _EAXBUFFERPROPERTIES
00170 {
00172         EAXBufferProps()
00173         {  Clear();  }
00175         void Clear()
00176         {
00177                 lDirect = EAXBUFFER_DEFAULTDIRECT;
00178                 lDirectHF = EAXBUFFER_DEFAULTDIRECTHF;
00179                 lRoom = EAXBUFFER_DEFAULTROOM;
00180                 lRoomHF = EAXBUFFER_DEFAULTROOMHF;
00181                 flRoomRolloffFactor = EAXBUFFER_DEFAULTROOMROLLOFFFACTOR;
00182                 lObstruction = EAXBUFFER_DEFAULTOBSTRUCTION;
00183                 flObstructionLFRatio = EAXBUFFER_DEFAULTOBSTRUCTIONLFRATIO;
00184                 lOcclusion = EAXBUFFER_DEFAULTOCCLUSION;
00185                 flOcclusionLFRatio = EAXBUFFER_DEFAULTOCCLUSIONLFRATIO;
00186                 flOcclusionRoomRatio = EAXBUFFER_DEFAULTOCCLUSIONROOMRATIO;
00187                 lOutsideVolumeHF = EAXBUFFER_DEFAULTOUTSIDEVOLUMEHF;
00188                 flAirAbsorptionFactor = EAXBUFFER_DEFAULTAIRABSORPTIONFACTOR;
00189                 dwFlags = EAXBUFFER_DEFAULTFLAGS;
00190         }
00191 };
00192
00193
00195
00205 class IEAXBuffer
00206 {
00207 public:
00212         virtual void SetDirect(int32 iDirect) = 0;
00217         virtual void SetDirectHF(int32 iDirectHF) = 0;
00222         virtual void SetRoom(int32 iRoom) = 0;
00227         virtual void SetRoomHF(int32 iRoomHF) = 0;
00232         virtual void SetRoomRolloffFactor(float fRoomRolloffFactor) = 0;
00237         virtual void SetObstruction(int32 iObstruction) = 0;
00242         virtual void SetObstructionLFRatio(float fObstructionLFRatio) = 0;
00247         virtual void SetOcclusion(int32 iOcclusion) = 0;
00252         virtual void SetOcclusionLFRatio(float fOcclusionLFRatio) = 0;
00257         virtual void SetOcclusionRoomRatio(float fOcclusionRoomRatio) = 0;
00262         virtual void SetOutsideVolumeHF(int32 iOutsideVolumeHF) = 0;
00267         virtual void SetAirAbsorptionFactor(float fAirAbsorptionFactor) = 0;
00272         virtual void SetFlags(uint32 nFlags) = 0;
00277         virtual void SetProperties(const EAXBufferProps& props) = 0;
00282         virtual void GetProperties(EAXBufferProps& props) = 0;
00283 };
00284
00285
00287
00296 struct ZoomFXBox : public ZOOMFX_BOX
00297 {
00299         ZoomFXBox()     { Clear(); }
00301         void Clear()
00302         {
00303                 vMin.x = 0.0f;
00304                 vMin.y = 0.0f;
00305                 vMin.z = 0.0f;
00306                 vMax.x = 0.0f;
00307                 vMax.y = 0.0f;
00308                 vMax.z = 0.0f;
00309         }
00310 };
00311
00313
00322 struct ZoomFXOrientation : public ZOOMFX_ORIENTATION
00323 {
00325         ZoomFXOrientation()     { Clear(); }
00327         void Clear()
00328         {
00329                 vFront.x = 0.0f;
00330                 vFront.y = 0.0f;
00331                 vFront.z = 1.0f;
00332                 vTop.x = 0.0f;
00333                 vTop.y = 1.0f;
00334                 vTop.z = 0.0f;
00335         }
00336 };
00337
00339
00348 struct ZoomFXProps : public ZOOMFX_BUFFERPROPERTIES
00349 {
00351         ZoomFXProps()   { Clear(); }
00353         void Clear()
00354         {
00355                 box.vMin.x = 0.0f;
00356                 box.vMin.y = 0.0f;
00357                 box.vMin.z = 0.0f;
00358                 box.vMax.x = 0.0f;
00359                 box.vMax.y = 0.0f;
00360                 box.vMax.z = 0.0f;
00361                 orientation.vFront.x = 0.0f;
00362                 orientation.vFront.y = 0.0f;
00363                 orientation.vFront.z = 1.0f;
00364                 orientation.vTop.x = 0.0f;
00365                 orientation.vTop.y = 1.0f;
00366                 orientation.vTop.z = 0.0f;
00367                 lMacroFx = ZOOMFXBUFFER_MACROFX_DEFAULT;
00368         }
00369 };
00370
00371
00372
00373
00374
00376 class IZoomFX
00377 {
00378 public:
00384         virtual void SetBox(const ZoomFXBox& box) = 0;
00390         virtual void SetOrientation(const ZoomFXOrientation& orientation) = 0;
00395         virtual void SetMacroFX(uint32 nMacroFX) = 0;
00400         virtual void SetProperties(const ZoomFXProps& props) = 0;
00405         virtual void GetProperties(ZoomFXProps& props) = 0;
00406
00407 };
00408
00409 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00410 }; // namespace Audio
00411 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00412
00413
00414 #endif // IAUDIOEXT_H__
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IAudioStream.h File Reference

Go to the source code of this file.

Compounds

class | IAudioStream
IAudioStream is the internal file representation used by the audio system. More...

class | IAudioStreamFactory
IAudioStreamFactory is a factory template used to create IAudioStream files. More...

Detailed Description

Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IAudioStream.h Source File

IAudioStream.h

Go to the documentation of this file.
00001 /***********************************************************\
00002 Copyright (C) James Boer, 2002.
00003 All rights reserved worldwide.
00004
00005 This software is provided "as is" without express or implied
00006 warranties. You may freely copy and compile this source into
00007 applications you distribute provided that the copyright text
00008 below is included in the resulting source code, for example:
00009 "Portions Copyright (C) James Boer, 2002"
00010 \***********************************************************/
00011 #ifndef IAUDIOSTREAM_H__
00012 #define IAUDIOSTREAM_H__
00013
00014 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00015 namespace Audio
00016 {
00017 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00018
00020
00022
00030 class IAudioStream : public IStream
00031 {
00032 public:
00041         virtual HRESULT __stdcall Open(std::string sFileName) = 0;
00042 };
00043
00044
00046
00057 class IAudioStreamFactory
00058 {
00059 public:
00067         virtual bool CreateAudioStream(IAudioStream*& pStream) = 0;
00068 };
00069
00070 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00071 }; // namespace Audio
00072 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00073
00074 #endif // IAUDIOSTREAM_H__
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IMusic.h File Reference

Go to the source code of this file.

Compounds

class IMusicManager
High-level music management interface class. More...

Detailed Description

Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


IMusic.h Source File

IMusic.h

Go to the documentation of this file.
00001 /***********************************************************\
00002 Copyright (C) James Boer, 2002.
00003 All rights reserved worldwide.
00004
00005 This software is provided "as is" without express or implied
00006 warranties. You may freely copy and compile this source into
00007 applications you distribute provided that the copyright text
00008 below is included in the resulting source code, for example:
00009 "Portions Copyright (C) James Boer, 2002"
00010 \***********************************************************/
00011 #ifndef IMUSIC_H__
00012 #define IMUSIC_H__
00013
00014 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00015 namespace Audio
00016 {
00017 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00018
00020
00022
00029 class IMusicManager : public IMusicCallback
00030 {
00031 public:
00032
00039         virtual bool Init() = 0;
00045         virtual void Term() = 0;
00052         virtual bool IsInitialized() = 0;
00053
00061         virtual bool LoadScript(std::string sFileName) = 0;
00062
00073         virtual bool PlayTheme(std::string sThemeName) = 0;
00079         virtual void ResetThemeItr() = 0;
00090         virtual bool GetNextTheme(std::string& sThemeName) = 0;
00097         virtual bool RemoveTheme(std::string& sThemeName) = 0;
00098
00106         virtual bool RemoveAll() = 0;
00107 };
00108
00114 inline static IMusicManager* MusicMgr()
00115 {  return AudioScriptFactory::GetMusicMgr();  }
00116
00117 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00118 }; // namespace Audio
00119 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00120
00121
00122 #endif // IMUSIC_H__
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


ISound.h File Reference

Go to the source code of this file.

Compounds

struct | BackgroundInit
struct used for initializing a background looping element. More...

class | ISoundManager
Controls and manages high-level sound objects. More...

class | ISoundScape
Class defining a collection of sounds which make up a soundscape. More...

struct | PeriodicInit
struct used for initializing a peroidic element. More...

Detailed Description

Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


ISound.h Source File

ISound.h

Go to the documentation of this file.
00001 /***********************************************************\
00002 Copyright (C) James Boer, 2002.
00003 All rights reserved worldwide.
00004
00005 This software is provided "as is" without express or implied
00006 warranties. You may freely copy and compile this source into
00007 applications you distribute provided that the copyright text
00008 below is included in the resulting source code, for example:
00009 "Portions Copyright (C) James Boer, 2002"
00010 \***********************************************************/
00011 #ifndef ISOUND_H__
00012 #define ISOUND_H__
00013
00014 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00015 namespace Audio
00016 {
00017 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00018
00020
00022 struct BackgroundInit
00023 {
00025         BackgroundInit()        {  Clear();  }
00027         void Clear()
00028         {
00029                 m_pSound = 0;
00030                 m_fMinVolume = 1.0f;
00031                 m_fMaxVolume = 1.0f;
00032                 m_fMinVolumeTime = 0.0f;
00033                 m_fMaxVolumeTime = 0.0f;
00034                 m_fMinPitch = 1.0f;
00035                 m_fMaxPitch = 1.0f;
00036                 m_fMinPitchTime = 0.0f;
00037                 m_fMaxPitchTime = 0.0f;
00038         };
00039
00041         ISound*                         m_pSound;
00043         float                           m_fMinVolume;
00045         float                           m_fMaxVolume;
00047         float                           m_fMinVolumeTime;
00049         float                           m_fMaxVolumeTime;
00051         float                           m_fMinPitch;
00053         float                           m_fMaxPitch;
00055         float                           m_fMinPitchTime;
00057         float                           m_fMaxPitchTime;
00058 };
00059
00061 struct PeriodicInit
00062 {
00064         PeriodicInit()  {  Clear();  }
00066         void Clear()
00067         {
00068                 m_pSound3D = 0;
00069                 m_fMinPitch = 1.0f;
00070                 m_fMaxPitch = 1.0f;
00071                 m_fMinDelay = 0.0f;
00072                 m_fMaxDelay = 0.0f;
00073                 m_fXRange = 25.0f;
00074                 m_fYRange = 25.0f;
00075                 m_fZRange = 25.0f;
00076                 m_fMinDistance = 0.0f;
00077         };
00079         ISound3D*                       m_pSound3D;
00081         float                           m_fMinPitch;
00083         float                           m_fMaxPitch;
00085         float                           m_fMinDelay;
00087         float                           m_fMaxDelay;
00089         float                           m_fXRange;
00091         float                           m_fYRange;
00093         float                           m_fZRange;
00095         float                           m_fMinDistance;
00096 };
00097
00098
00100
00105 class ISoundScape : public IPlayable
00106 {
00107 public:
00108         virtual bool Init() = 0;
00109
00115         virtual bool AddElement(const BackgroundInit& init) = 0;
00121         virtual bool AddElement(const PeriodicInit& init) = 0;
00122
00131         virtual bool SetVolume(float fVolume) = 0;
00138         virtual bool GetVolume(float& fVolume) const = 0;
00139
00140 };
00141
00143
00149 class ISoundManager
00150 {
00151 public:
00152
00160         virtual bool Init() = 0;
00168         virtual void Term() = 0;
00175         virtual bool IsInitialized() = 0;
00176
00184         virtual bool LoadScript(std::string sFileName) = 0;
00193         virtual bool RemoveAll() = 0;
00194
00204         virtual bool GetSound(std::string sSoundName, ISound*& pSound) = 0;
00211         virtual bool GetSoundInit(std::string sSoundName, SoundInit& init) = 0;
00212         virtual bool ReleaseSound(std::string sSoundName, ISound* pSound) = 0;
00213         virtual bool IsSoundRegistered(std::string sSoundName) = 0;
00214         virtual void ResetSoundItr() = 0;
00215         virtual bool GetNextSound(std::string& sSoundName) = 0;
00216         virtual bool RemoveSound(std::string sSoundName) = 0;
00217         virtual bool RemoveAllSounds() = 0;
00218
00228         virtual bool GetSound3D(std::string sSound3DName, ISound3D*& pSound3D) = 0;
00235         virtual bool GetSound3DInit(std::string sSound3DName, Sound3DInit& init) = 0;
00236         virtual bool ReleaseSound3D(std::string sSound3DName, ISound3D* pSound3D) = 0;
00237         virtual bool IsSound3DRegistered(std::string sSound3DName) = 0;
00238         virtual void ResetSound3DItr() = 0;
00239         virtual bool GetNextSound3D(std::string& sSound3DName) = 0;
00240         virtual bool RemoveSound3D(std::string sSound3DName) = 0;
00241         virtual bool RemoveAllSounds3D() = 0;
00242
00243         virtual bool CreateSoundScape(ISoundScape*& pSoundScape) = 0;
00244         virtual bool InitSoundScape(std::string sSoundScapeName, ISoundScape*& pSoundScape) = 0;
00245         virtual bool IsSoundScapeRegistered(std::string sSoundScapeName) = 0;
00246         virtual void ResetSoundScapeItr() = 0;
00247         virtual bool GetNextSoundScape(std::string& sSoundScapeName) = 0;
00248         virtual bool RemoveSoundScape(std::string sSoundScapeName) = 0;
00249         virtual bool RemoveAllSoundScapes() = 0;
00250 };
00251
00257 inline static ISoundManager* SoundMgr()
00258 {  return AudioScriptFactory::GetSoundMgr();  }
00259
00260 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00261 }; // namespace Audio
00262 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00263
00264 #endif // ISOUND_H__
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Annotated Index

GAP Audio System Compound List

Here are the classes, structs, unions and interfaces with brief descriptions:
  • AudioMgrInit (Initialization structure for the IAudioManager class)
  • AudioMgrStats (Statistics structure for the IAudioManager class)
  • AudioScriptInit (Initialization structure for the IAudioScript class)
  • BackgroundInit (Struct used for initializing a background looping element)
  • DLSInit (Initialization structure for the IDLS class)
  • EAXBufferProps (EAXBufferProps is used to set all EAX buffer properties at once)
  • EAXListenerProps (EAXListenerProps is used to set all EAX listener properties at once)
  • IAudioBase (Base class defining common interface of all managed audio components)
  • IAudioManager (The audio manager controls all low-level audio components)
  • IAudioScript (IAudioScript is the interface for DirectMusic script objects)
  • IAudioStream (IAudioStream is the internal file representation used by the audio system)
  • IAudioStreamFactory (IAudioStreamFactory is a factory template used to create IAudioStream files)
  • IDLS (Interface structure for DLS collections)
  • IEAXBuffer (Public EAX buffer interface extension)
  • IEAXListener (Public EAX listener interface extension)
  • IListener (IListener represents the listener around which 3D sounds are oriented and positioned)
  • IMusicCallback (Music callback interface)
  • IMusicManager (High-level music management interface class)
  • IPlayable (Base class defining common interface of all playable audio components)
  • ISegment (ISegment is the interface for segment audio objects)
  • ISound (ISound is the interface for 2D sound objects)
  • ISound3D (ISound3D is the interface for 3D sound objects)
  • ISoundManager (Controls and manages high-level sound objects)
  • ISoundScape (Class defining a collection of sounds which make up a soundscape)
  • IZoomFX (Public ZoomFX buffer interface extension)
  • ListenerInit (This structure contains all parameters needed for the IListener initialization)
  • ListenerProp (This structure contains all the 3D properties of the listener)
  • PeriodicInit (Struct used for initializing a peroidic element)
  • SegmentInit (Initialization structure for the ISegment class)
  • Sound3DInit (Initialization structure for the 3D ISound3D class)
  • Sound3DProp (Property class representing all commonly modified run-time sound properties)
  • SoundInit (2D sound initialization structure)
  • SoundProp (2D sound properties structure)
  • ZoomFXBox (ZoomFXBox is used to set all ZoomFX orientation properties)
  • ZoomFXOrientation (ZoomFXOrientation is used to set all ZoomFX orientation properties)
  • ZoomFXProps (ZoomFXProps is used to set all ZoomFX buffer properties at once)
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


AudioMgrInit Struct Reference

Initialization structure for the IAudioManager class. More...

#include <IAudio.h>

List of all members.

Public Methods

AudioMgrInit ()
void | Clear ()

Public Attributes

HWND | m_hWnd
HWND used for sound system initialization.

bool | m_bLoadAsyncronously
Load all audio files asyncronously.

bool | m_bForceSoftware
Force the system to use all software buffers.

bool | m_bUseMusicReverb
Use the Waves Reverb filter on the DirectMusic music performance object.

bool | m_bUseEAX
Use EAX hardware extensions if available.

bool | m_bUseZoomFX
Use ZoomFX hardware extensions if available.

bool | m_bAutoStream
Automatically stream all large buffers.

bool | m_bCacheBuffers
Automatically cache buffers for reuse.

uint32 | m_n2DHardwareBufferMin
Threshold at which software buffers are used instead of hardware.

uint32 | m_n3DHardwareBufferMin
Threshold at which software buffers are used instead of hardware.

uint32 | m_n2DHardwareBufferMax
Maximum amount of 2D hardware buffers to allow.

uint32 | m_n3DHardwareBufferMax
Maximum amount of 3D hardware buffers to allow.

uint32 | m_n2DSoftwareBufferMax
Maximum amount of 2D software buffers to allow.

uint32 | m_n3DSoftwareBufferMax
Maximum amount of 3D software buffers to allow.

uint32 | m_nSegmentMax
Maximum amount of segments to allow.

uint32 | m_nOptimalSampleBits
Defines the optimal bit depth is for audio data.

uint32 | m_nOptimalSampleRate
Defines the optimal sample rate is for audio data.

std::string | m_sWorkingPath
Audio system default working path. More...

IAudioStreamFactory* m_pAudioStreamFactory
Allows overriding of the default disk-based file system.

IMusicCallback* m_pMusicCallback
Sets a music callback object for notification on specific music segment events.

Detailed Description

Initialization structure for the IAudioManager class.

All initial audio manager options are set in this structure

See also:
IAudioManager::Init()

Constructor & Destructor Documentation

AudioMgrInit::AudioMgrInit ( ) [inline]

AudioMgrInit constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void AudioMgrInit::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

Member Data Documentation

std::string AudioMgrInit::m_sWorkingPath

Audio system default working path.

Specifies the working directory for the audio system. If left blank, the audio manager will use the current working directory at the time of initialization.

The documentation for this struct was generated from the following file:
  • IAudio.h
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

AudioMgrInit Member List

This is the complete list of members for AudioMgrInit, including all inherited members.
  • AudioMgrInit() [inline]
  • Clear() [inline]
  • m_bAutoStream
  • m_bCacheBuffers
  • m_bForceSoftware
  • m_bLoadAsyncronously
  • m_bUseEAX
  • m_bUseMusicReverb
  • m_bUseZoomFX
  • m_hWnd
  • m_n2DHardwareBufferMax
  • m_n2DHardwareBufferMin
  • m_n2DSoftwareBufferMax
  • m_n3DHardwareBufferMax
  • m_n3DHardwareBufferMin
  • m_n3DSoftwareBufferMax
  • m_nOptimalSampleBits
  • m_nOptimalSampleRate
  • m_nSegmentMax
  • m_pAudioStreamFactory
  • m_pMusicCallback
  • m_sWorkingPath
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


AudioMgrStats Struct Reference

Statistics structure for the IAudioManager class. More...

#include <IAudio.h>

List of all members.

Public Methods

AudioMgrStats ()
void | Clear ()

Public Attributes

bool | m_bForce2DSoftware
Are 2D buffers restricted to software?

bool | m_bForce3DSoftware
Are 3D buffers restricted to software?

uint32 | m_n2DSoundsLoaded
Reports the number of 2D sounds currently loaded.

uint32 | m_n3DSoundsLoaded
Reports the number of 3D sounds currently loaded.

uint32 | m_nSegmentsLoaded
Reports the number of segments currently loaded.

Detailed Description

Statistics structure for the IAudioManager class.

All initial audio manager statistics are set in this structure

See also:
IAudioManager::GetStats()

Constructor & Destructor Documentation

AudioMgrStats::AudioMgrStats ( ) [inline]

AudioMgrStats constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void AudioMgrStats::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

The documentation for this struct was generated from the following file:
  • IAudio.h
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

AudioMgrStats Member List

This is the complete list of members for AudioMgrStats, including all inherited members.
  • AudioMgrStats() [inline]
  • Clear() [inline]
  • m_bForce2DSoftware
  • m_bForce3DSoftware
  • m_n2DSoundsLoaded
  • m_n3DSoundsLoaded
  • m_nSegmentsLoaded
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


AudioScriptInit Struct Reference

Initialization structure for the IAudioScript class. More...

#include <IAudio.h>

List of all members.

Public Methods

AudioScriptInit ()
void | Clear ()

Public Attributes

std::string | m_sFileName
Name of the script file.

bool | m_bMusic
Is this script part of the music playback system? (defaults to true).

Detailed Description

Initialization structure for the IAudioScript class.

All initial parameters can be set in this structure. Generally speaking, parameters listed in this structure are crucial to the initial contruction of the sound object, and so cannot be modified at run-time.

See also:
IAudioScript::Init()

Constructor & Destructor Documentation

AudioScriptInit::AudioScriptInit ( ) [inline]

AudioScriptInit constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void AudioScriptInit::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

The documentation for this struct was generated from the following file:
  • IAudio.h
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

AudioScriptInit Member List

This is the complete list of members for AudioScriptInit, including all inherited members.
  • AudioScriptInit() [inline]
  • Clear() [inline]
  • m_bMusic
  • m_sFileName
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


BackgroundInit Struct Reference

struct used for initializing a background looping element. More...

#include <ISound.h>

List of all members.

Public Methods

BackgroundInit ()
Constructor clears all values to defaults.

void | Clear ()
Clears all structure members to default values.

Public Attributes

ISound* m_pSound
Sound to play as background loop.

float | m_fMinVolume
Minimum sound volume.

float | m_fMaxVolume
Maximum sound volume.

float | m_fMinVolumeTime
Minimum time to take when transitioning to a new volume.

float | m_fMaxVolumeTime
Maximum time to take when transitioning to a new volume.

float | m_fMinPitch
Minimum sound pitch.

float | m_fMaxPitch
Maximum sound pitch.

float | m_fMinPitchTime
Minimum time to take when transitioning to a new pitch.

float | m_fMaxPitchTime
Maximum time to take when transitioning to a new pitch.

Detailed Description

struct used for initializing a background looping element.

The documentation for this struct was generated from the following file:
  • ISound.h
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

BackgroundInit Member List

This is the complete list of members for BackgroundInit, including all inherited members.
  • BackgroundInit() [inline]
  • Clear() [inline]
  • m_fMaxPitch
  • m_fMaxPitchTime
  • m_fMaxVolume
  • m_fMaxVolumeTime
  • m_fMinPitch
  • m_fMinPitchTime
  • m_fMinVolume
  • m_fMinVolumeTime
  • m_pSound
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


DLSInit Struct Reference

Initialization structure for the IDLS class. More...

#include <IAudio.h>

List of all members.

Public Methods

DLSInit ()
void | Clear ()

Public Attributes

std::string | m_sFileName
The file from which to load the DLS data.

Detailed Description

Initialization structure for the IDLS class.

All initial parameters can be set in this structure. Generally speaking, parameters listed in this structure are crucial to the initial contruction of the sound object, and so cannot be modified at run-time.

See also:
IDLS::Init()

Constructor & Destructor Documentation

DLSInit::DLSInit ( ) [inline]

Sound3DProp constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void DLSInit::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

The documentation for this struct was generated from the following file:
  • IAudio.h
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

DLSInit Member List

This is the complete list of members for DLSInit, including all inherited members.
  • Clear() [inline]
  • DLSInit() [inline]
  • m_sFileName
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


EAXBufferProps Struct Reference

EAXBufferProps is used to set all EAX buffer properties at once. More...

#include <IAudioExt.h>

Inheritance diagram for EAXBufferProps::

List of all members.

Public Methods

EAXBufferProps ()
Default constructor calls the Clear() function.

void Clear ()
Sets all members to their default values, as defined in eax.h.

Detailed Description

EAXBufferProps is used to set all EAX buffer properties at once.

EAXBufferProps is derived from the EAX structure _EAXBUFFERPROPERTIES. The structure is made slightly more user friendly by providing a Clear() function which resets all EAX buffer properties to their default values. The Clear() function is also automatically called when the structure is created. Because it is derived from _EAXBUFFERPROPERTIES, it can be used interchangeably with this structure since it is binary compatible.

The documentation for this struct was generated from the following file:
  • IAudioExt.h
Generated at Sun Jul 28 23:17:42 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

EAXBufferProps Member List

This is the complete list of members for EAXBufferProps, including all inherited members.
  • Clear() [inline]
  • EAXBufferProps() [inline]


EAXListenerProps Struct Reference

EAXListenerProps is used to set all EAX listener properties at once. More...

#include <IAudioExt.h>

Inheritance diagram for EAXListenerProps::

List of all members.

Public Methods

EAXListenerProps ()
Default constructor calls the Clear() function.

void Clear ()
Sets all members to their default values, as defined in eax.h.

Detailed Description

EAXListenerProps is used to set all EAX listener properties at once.

EAXListenerProps is derived from the EAX structure _EAXLISTENERPROPERTIES. The structure is made slightly more user friendly by providing a Clear() function which resets all EAX listener properties to their default values. The Clear() function is also automatically called when the structure is created. Because it is derived from _EAXLISTENERPROPERTIES, it can be used interchangeably with this structure since it is binary compatible.

The documentation for this struct was generated from the following file:
  • IAudioExt.h


Member List

EAXListenerProps Member List

This is the complete list of members for EAXListenerProps, including all inherited members.
  • Clear() [inline]
  • EAXListenerProps() [inline]


IAudioBase Class Reference

Base class defining common interface of all managed audio components. More...

#include <IAudio.h>

Inheritance diagram for IAudioBase::

IAudioScript IDLS IPlayable ISegment ISound ISound3D ISoundScape List of all members.

Public Methods

virtual void | Destroy ()=0
virtual bool | IsInitialized () const=0
virtual bool | Load ()=0
virtual bool | Unload ()=0
virtual bool | IsLoaded () const=0

Detailed Description

Base class defining common interface of all managed audio components.

IAudioBase defines the common interface to which all basic audio components (such as sounds, scripts, and DLS collections must conform. Objects are obtained from the AudioMgr, and are destroyed by using the Destroy() function, which internally cleans up and deletes the object. Once the object is initialized via its own Init() function, the audio data may be loaded and unloaded at will using the Load() and Unload() functions. The audio manager may also call Load() or Unload() at its discretion, since these are defined as no argument functions, and operate entirly using cached information from the object's original initialization.

Member Function Documentation

void IAudioBase::Destroy ( ) [pure virtual]

Destroys an audio object, discarding any information stored from the original object initialization. The object should be considered invalid for any use after this function is called. The audio manager will automatically destroy the object when IAudioManager::Term() is called.

bool IAudioBase::IsInitialized ( ) const [pure virtual]

Determines whether an audio object is currently initialized.

Returns:
true indicates the object is initialized, false indicates it is not

bool IAudioBase::IsLoaded ( ) const [pure virtual]

Determines if an audio object is currently loaded.

Returns:
true indicates the object is loaded, false indicates it is not loaded
See also:
Load(), Unload()

bool IAudioBase::Load ( ) [pure virtual]

Loads the audio file from disk or memory and creates internal structures to hold this data as appropriate. In general, objects derived from IPlayable will load data in a background thread, but all other objects will finish loading before the function returns.

Returns:
true indicates success, false indicates failure.
See also:
Unload(), IsLoaded()

bool IAudioBase::Unload ( ) [pure virtual]

Destroys the internal data container (buffer, segment, etc) currently holding audio data.

Returns:
true indicates success, false indicates failure.
See also:
Load(), IsLoaded()

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

IAudioBase Member List

This is the complete list of members for IAudioBase, including all inherited members.
  • Destroy()=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • Unload()=0 [pure virtual]


IAudioManager Class Reference

The audio manager controls all low-level audio components. More...

#include <IAudio.h>

List of all members.

Public Methods

virtual bool | Init (const AudioMgrInit &init)=0
virtual void | Term ()=0
virtual bool | IsInitialized () const=0
virtual bool | GetStats (AudioMgrStats &stats) const=0
virtual bool | CreateSound (ISound *&pSound)=0
virtual bool | CreateSound3D (ISound3D *&pSound3D)=0
virtual bool | CreateSegment (ISegment *&pSegment)=0
virtual bool | CreateDLS (IDLS *&pDLS)=0
virtual bool | CreateAudioScript (IAudioScript *&pScript)=0
virtual bool | GetListener (IListener *&pListener)=0
virtual bool | SetSoundVolume (float fVolume)=0
virtual bool | GetSoundVolume (float &fVolume) const=0
virtual bool | SetMusicVolume (float fVolume)=0
virtual bool | GetMusicVolume (float &fVolume) const=0
virtual bool | StopAll ()=0
virtual bool | PauseAll ()=0
virtual bool | ResumeAll ()=0
virtual bool | GetCurrentSegment (ISegment *&pSegment) const=0
virtual bool | GetNextSegment (ISegment *&pSegment) const=0
virtual bool | CreateAudioStream (IAudioStream *&pStream)=0

Detailed Description

The audio manager controls all low-level audio components.

It is responsible for initializing the sound and music subsystems, and for creating and managing all 2D and 3D sounds (both static and streaming), as well as for queueing and playing music segments. The manager is designed to allow nearly direct access to low level buffers and segments while still providing an easy-to-use and high-level management system.

Member Function Documentation

bool IAudioManager::CreateAudioScript ( IAudioScript *& pScript ) [pure virtual]

Creates a new audio script object to be managed by the audio system.

Parameters:
pScript holds the newly created IAudioScript interface.
Returns:
true indicates success, false indicates failure.

bool IAudioManager::CreateAudioStream ( IAudioStream *& pStream ) [pure virtual]

Creates a file object based either on the user-defined file creation factory if one was supplied, or returns a default disk-based file object.

Parameters:
pAudioFile holds a valid IAudioFile object on success
Returns:
true indicates success, false indicates failure.
See also:
DestroyAudioFile(), IAudioFileFactory, IAudioFile, AudioMgrInit

bool IAudioManager::CreateDLS ( IDLS *& pDLS ) [pure virtual]

Creates a new DLS object to be managed by the audio system.

Parameters:
pDLS holds the newly created IDLS interface.
Returns:
true indicates success, false indicates failure.

bool IAudioManager::CreateSegment ( ISegment *& pSegment ) [pure virtual]

Creates a new segment object to be managed by the audio system.

Parameters:
pSegment holds the newly created ISegment interface.
Returns:
true indicates success, false indicates failure.

bool IAudioManager::CreateSound ( ISound *& pSound ) [pure virtual]

Creates a new sound object to be managed by the audio system.

Parameters:
pSound holds the newly created ISound interface.
Returns:
true indicates success, false indicates failure.

bool IAudioManager::CreateSound3D ( ISound3D *& pSound3D ) [pure virtual]

Creates a new 3D sound object to be managed by the audio system.

Parameters:
pSound3D holds the newly created ISound3D interface.
Returns:
true indicates success, false indicates failure.

bool IAudioManager::GetCurrentSegment ( ISegment *& pSegment ) const [pure virtual]

Gets the currently playing music segment from the audio system.

Parameters:
pSegment is the currently playing primary segment. pSegment will be NULL if no segment is currently playing.
Returns:
true indicates success, false indicates failure.
See also:
GetNextSegment()

bool IAudioManager::GetListener ( IListener *& pListener ) [pure virtual]

Retrives the listener object. This function will return the same object on every call.

Parameters:
pListener holds the acquired IListener interface.
Returns:
true indicates success, false indicates failure.
See also:
IListener

bool IAudioManager::GetMusicVolume ( float & fVolume ) const [pure virtual]

Gets the music volume.

Parameters:
fVolume gets the music volume.
Returns:
true indicates success, false indicates failure.
See also:
SetMusicVolume()

bool IAudioManager::GetNextSegment ( ISegment *& pSegment ) const [pure virtual]

Gets the next queued music segment from the audio system.

Parameters:
pSegment is the next queued segment. pSegment will be NULL if no segment is currently queued.
Returns:
true indicates success, false indicates failure.
See also:
GetCurrentSegment()

bool IAudioManager::GetSoundVolume ( float & fVolume ) const [pure virtual]

Gets the master volume from the audio system.

Parameters:
fVolume gets the master volume.
Returns:
true indicates success, false indicates failure.
See also:
SetSoundVolume()

bool IAudioManager::GetStats ( AudioMgrStats & stats ) const [pure virtual]

Gets current usage statistics from the audio manager.

Parameters:
init is the AudioMgrInit structure that contains statistics fields
Returns:
true indicates success, false indicates failure.
See also:
AudioMgrStats

bool IAudioManager::Init ( const AudioMgrInit & init ) [pure virtual]

Initializes the audio manager. This function is automatically called if using the standard engine framework. Otherwise, you must call this manually before attempting to play any sounds.

Parameters:
init is the AudioMgrInit structure that contains initialization parameters
Returns:
true indicates success, false indicates failure.
See also:
AudioMgrInit, Term()

bool IAudioManager::IsInitialized ( ) const [pure virtual]

Determines whether an audio manager is currently initialized.

Returns:
true indicates the manager is initialized, false indicates it is not

bool IAudioManager::PauseAll ( ) [pure virtual]

Pauses all currently playing sounds and music.

Returns:
true indicates success, false indicates failure.
See also:
StopAll(), ResumeAll()

bool IAudioManager::ResumeAll ( ) [pure virtual]

Resumes all currently paused sounds and music. Note that this will include any sounds paused other than a call to PauseAll().

Returns:
true indicates success, false indicates failure.
See also:
StopAll(), PauseAll()

bool IAudioManager::SetMusicVolume ( float fVolume ) [pure virtual]

Sets the music volume.

Parameters:
fVolume sets the music volume. Acceptable values range from AUD_VOLUME_MIN to AUD_VOLUME_MAX (0 to 1). The volume control is linear.
Returns:
true indicates success, false indicates failure.
See also:
GetMusicVolume()

bool IAudioManager::SetSoundVolume ( float fVolume ) [pure virtual]

Sets the master volume for the audio system.

Parameters:
fVolume sets the master volume. Acceptable values range from AUD_VOLUME_MIN to AUD_VOLUME_MAX (0 to 1). The volume control is linear.
Returns:
true indicates success, false indicates failure.
See also:
GetSoundVolume()

bool IAudioManager::StopAll ( ) [pure virtual]

Stops all currently playing sounds and music.

Returns:
true indicates success, false indicates failure.
See also:
PauseAll(), ResumeAll()

void IAudioManager::Term ( ) [pure virtual]

Terminates the audio manager. This should be called before the application exits to properly shut down the sound system. This function is called automatically if using the standard engine framework.

See also:
Init()

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

IAudioManager Member List

This is the complete list of members for IAudioManager, including all inherited members.
  • CreateAudioScript(IAudioScript *&pScript)=0 [pure virtual]
  • CreateAudioStream(IAudioStream *&pStream)=0 [pure virtual]
  • CreateDLS(IDLS *&pDLS)=0 [pure virtual]
  • CreateSegment(ISegment *&pSegment)=0 [pure virtual]
  • CreateSound(ISound *&pSound)=0 [pure virtual]
  • CreateSound3D(ISound3D *&pSound3D)=0 [pure virtual]
  • GetCurrentSegment(ISegment *&pSegment) const=0 [pure virtual]
  • GetListener(IListener *&pListener)=0 [pure virtual]
  • GetMusicVolume(float &fVolume) const=0 [pure virtual]
  • GetNextSegment(ISegment *&pSegment) const=0 [pure virtual]
  • GetSoundVolume(float &fVolume) const=0 [pure virtual]
  • GetStats(AudioMgrStats &stats) const=0 [pure virtual]
  • Init(const AudioMgrInit &init)=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • PauseAll()=0 [pure virtual]
  • ResumeAll()=0 [pure virtual]
  • SetMusicVolume(float fVolume)=0 [pure virtual]
  • SetSoundVolume(float fVolume)=0 [pure virtual]
  • StopAll()=0 [pure virtual]
  • Term()=0 [pure virtual]


IAudioScript Class Reference

IAudioScript is the interface for DirectMusic script objects. More...

#include <IAudio.h>

Inheritance diagram for IAudioScript::

IAudioBase List of all members.

Public Methods

virtual bool | Init (const AudioScriptInit &init)=0
virtual bool | SetVariable (std::string sVarName, int32 iVal)=0
virtual bool | GetVariable (std::string sVarName, int32 &iVal)=0
virtual bool | CallRoutine (std::string sRoutineName)=0

Detailed Description

IAudioScript is the interface for DirectMusic script objects.

Audio script objects allow an audio designer to perform custom actions through the use of variables and routines that can be set, retrieved, and executed from code.

Member Function Documentation

bool IAudioScript::CallRoutine ( std::string sRoutineName ) [pure virtual]

Calls a specific routine in a script.

Parameters:
sRoutineName indicates the name of the routine to call
Returns:
true indicates success, false indicates failure.
See also:
GetVariable(), SetVariable()

bool IAudioScript::GetVariable ( | std::string sVarName,
 | int32 & iVal ) [pure virtual]

Retrieves the value of a named variable in a script.

Parameters:
sVarName | specifies the variable name to retrieve
iVal | which will hold the value of the script variable
Returns:
true indicates success, false indicates failure.
See also:
SetVariable(), CallRoutine()

bool IAudioScript::Init ( const AudioScriptInit & init ) [pure virtual]

Initializes the script object with the data needed to load and execute script functions.

Parameters:
init SegmentInit structure contains all initialization parameters.
Returns:
true indicates success, false indicates failure.
See also:
SegmentInit, Destroy()

bool IAudioScript::SetVariable ( | std::string sVarName,
 | int32 iVal ) [pure virtual]

Sets a named variable in a script to a numerical value.

Parameters:
sVarName | specifies the variable name to set
iVal | is the value to which the variable will be set
Returns:
true indicates success, false indicates failure.
See also:
GetVariable(), CallRoutine()

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

IAudioScript Member List

This is the complete list of members for IAudioScript, including all inherited members.
  • CallRoutine(std::string sRoutineName)=0 [pure virtual]
  • Destroy()=0 [pure virtual]
  • GetVariable(std::string sVarName, int32 &iVal)=0 [pure virtual]
  • Init(const AudioScriptInit &init)=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • SetVariable(std::string sVarName, int32 iVal)=0 [pure virtual]
  • Unload()=0 [pure virtual]


IAudioStream Class Reference

IAudioStream is the internal file representation used by the audio system. More...

#include <IAudioStream.h>

Inheritance diagram for IAudioStream::

List of all members.

Public Methods

virtual HRESULT __stdcall Open (std::string sFileName)=0

Detailed Description

IAudioStream is the internal file representation used by the audio system.

IAudioStream, derived from the COM standard IStream interface is used internally by the audio system to interface with data streams of any kind. A default file-based stream implementation is used internally by default, but a client may choose to create a custom implementation and use it instead.

See also:
IAudioStreamFactory

Member Function Documentation

HRESULT __stdcall IAudioStream::Open ( std::string sFileName ) [pure virtual]

Opens an IStream using a unique character-based identifier. Typically, the string represents a file name, but alternative implementations may choose to utilize other methods of representing data blocks.

Parameters:
sFileName A unique string-based identifier which can be used
Returns:
S_OK is returned on success, otherwise E_FAIL is returned. to open the data stream.

The documentation for this class was generated from the following file:
  • IAudioStream.h


Member List

IAudioStream Member List

This is the complete list of members for IAudioStream, including all inherited members.
  • Open(std::string sFileName)=0 [pure virtual]


IAudioStreamFactory Class Reference

IAudioStreamFactory is a factory template used to create IAudioStream files. More...

#include <IAudioStream.h>

List of all members.

Public Methods

virtual bool CreateAudioStream (IAudioStream *&pStream)=0

Detailed Description

IAudioStreamFactory is a factory template used to create IAudioStream files.

IAudioStreamFactory is an abstract template class used by the audio system when it must create IAudioStream objects. A default implementation of this interface is used to create standard file-based IAudioStream objects, but a client may choose to create a custom implementation of this class, along with a custom implementation of IAudioStream, which will be used in place of the internal default version of the factory. The custom factory may be passed to the audio system in the AudioMgrInit structure. The client is responsible for allocating and deallocating the object.

See also:
IAudioStream, AudioMgrInit, IAudioManager::Init()

Member Function Documentation

bool IAudioStreamFactory::CreateAudioStream ( IAudioStream *& pStream ) [pure virtual]

Creates an IAudioStream-based object.

Parameters:
pStream Holds a pointer to an IAudioStream object which will be filled out by the function.
Returns:
true indicates success, false indicates failure.
See also:
IAudioStream

The documentation for this class was generated from the following file:
  • IAudioStream.h


Member List

IAudioStreamFactory Member List

This is the complete list of members for IAudioStreamFactory, including all inherited members.
  • CreateAudioStream(IAudioStream *&pStream)=0 [pure virtual]


IDLS Class Reference

Interface structure for DLS collections. More...

#include <IAudio.h>

Inheritance diagram for IDLS::

IAudioBase List of all members.

Public Methods

virtual bool | Init (const DLSInit &init)=0
virtual bool | Lock ()=0
virtual bool | Unlock ()=0

Detailed Description

Interface structure for DLS collections.

The IDLS interface is designed to be used internally by segment objects. A DLS collection may be associated with an ISegment object through the SegmentInit::m_pDLS member. Segments will internally call Lock() and Unlock() to load or unload the DLS member explicitly as appropriate.

See also:
DLSInit

Member Function Documentation

bool IDLS::Init ( const DLSInit & init ) [pure virtual]

Initializes the DLS object. This must be the first function called on the sound after the object is created.

Parameters:
init is the initialization structure for DLS objects, containing pamrameters needed to prepare the DLS object for use.
Returns:
true indicates success, false indicates failure.
See also:
Destroy()

bool IDLS::Lock ( ) [pure virtual]

This loads all DLS data. Unlike a typical load function, an internal reference count is incremented with each call to Lock(), and will force the DLS data to remain loaded until either the reference count drops to zero or the Destoy() function is called.

Returns:
true if the lock was successful and/or the DLS collection was succesfully loaded, and false if there was an error loading the data.
See also:
Unlock()

bool IDLS::Unlock ( ) [pure virtual]

Decreases an internal reference count incremented by the Lock() function. When the reference count drops to zero, the DLS collection is unloaded.

Returns:
true indicates success, false indicates failure.
See also:
Lock()

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

IDLS Member List

This is the complete list of members for IDLS, including all inherited members.
  • Destroy()=0 [pure virtual]
  • Init(const DLSInit &init)=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • Lock()=0 [pure virtual]
  • Unload()=0 [pure virtual]
  • Unlock()=0 [pure virtual]


IEAXBuffer Class Reference

Public EAX buffer interface extension. More...

#include <IAudioExt.h>

List of all members.

Public Methods

virtual void | SetDirect (int32 iDirect)=0
virtual void | SetDirectHF (int32 iDirectHF)=0
virtual void | SetRoom (int32 iRoom)=0
virtual void | SetRoomHF (int32 iRoomHF)=0
virtual void | SetRoomRolloffFactor (float fRoomRolloffFactor)=0
virtual void | SetObstruction (int32 iObstruction)=0
virtual void | SetObstructionLFRatio (float fObstructionLFRatio)=0
virtual void | SetOcclusion (int32 iOcclusion)=0
virtual void | SetOcclusionLFRatio (float fOcclusionLFRatio)=0
virtual void | SetOcclusionRoomRatio (float fOcclusionRoomRatio)=0
virtual void | SetOutsideVolumeHF (int32 iOutsideVolumeHF)=0
virtual void | SetAirAbsorptionFactor (float fAirAbsorptionFactor)=0
virtual void | SetFlags (uint32 nFlags)=0
virtual void | SetProperties (const EAXBufferProps &props)=0
virtual void | GetProperties (EAXBufferProps &props)=0

Detailed Description

Public EAX buffer interface extension.

IEAXBuffer is a public interface class designed to provide an easy-to-use interface to a buffer's EAX properties. The interface is obtained through the function ISound3D::EAX(), and it always guaranteed to return a valid interface, even if EAX is disabled. The specialized interface is much easier to use than a generic property set interface. IEAXBuffer and any related structures and interfaces are based on the EAX 2.0 specifications.

See also:
IEAXListener, ISound3D, ISound3D::EAX()

Member Function Documentation

void IEAXBuffer::GetProperties ( EAXBufferProps & props ) [pure virtual]

Gets all current EAX buffer parameters

Parameters:
props all EAX buffer properties

void IEAXBuffer::SetAirAbsorptionFactor ( float fAirAbsorptionFactor ) [pure virtual]

Sets the air absorption factor

Parameters:
fAirAbsorption Valid range from 0.0 to 10.0. Defaults to 1.0

void IEAXBuffer::SetDirect ( int32 iDirect ) [pure virtual]

Sets the direct path audio level

Parameters:
iDirect Valid range from -10000 to 1000. Defaults to 0

void IEAXBuffer::SetDirectHF ( int32 iDirectHF ) [pure virtual]

Sets the direct path audio level at high frequencies

Parameters:
iDirectHF Valid range from -10000 to 0. Defaults to 0

void IEAXBuffer::SetFlags ( uint32 nFlags ) [pure virtual]

Sets all EAX buffer flags - see EAX documentation for details

Parameters:
fEnvironmentDiffusion all EAX buffer flags

void IEAXBuffer::SetObstruction ( int32 iObstruction ) [pure virtual]

Sets the buffer's obstruction level

Parameters:
iObstruction Valid range from -10000 to 0. Defaults to 0

void IEAXBuffer::SetObstructionLFRatio ( float fObstructionLFRatio ) [pure virtual]

Sets the buffer's obstruction low-frequency level

Parameters:
fObstructionLFRatio Valid range from 0.0 to 1.0. Defaults to 0.0

void IEAXBuffer::SetOcclusion ( int32 iOcclusion ) [pure virtual]

Sets the buffer's occlusion level

Parameters:
iOcclusion Valid range from -10000 to 0. Defaults to 0

void IEAXBuffer::SetOcclusionLFRatio ( float fOcclusionLFRatio ) [pure virtual]

Sets the buffer's occlusion low-frequency level

Parameters:
fOcclusionLFRatio Valid range from 0.0 to 1.0. Defaults to 0.25

void IEAXBuffer::SetOcclusionRoomRatio ( float fOcclusionRoomRatio ) [pure virtual]

Sets the buffer's room-level occlusion control

Parameters:
fOcclusionRoomRatio Valid range from 0.0 to 10.0. Defaults to 0.5

void IEAXBuffer::SetOutsideVolumeHF ( int32 iOutsideVolumeHF ) [pure virtual]

Sets the buffer's outside volume for high frequencies

Parameters:
iOutsideVolumeHF Valid range from -10000 to 0. Defaults to 0

void IEAXBuffer::SetProperties ( const EAXBufferProps & props ) [pure virtual]

Sets all current EAX buffer parameters

Parameters:
props all EAX buffer properties

void IEAXBuffer::SetRoom ( int32 iRoom ) [pure virtual]

Sets the room effect level

Parameters:
iRoom Valid range from -10000 to 1000. Defaults to 0

void IEAXBuffer::SetRoomHF ( int32 iRoomHF ) [pure virtual]

Sets the room effect level at high frequencies

Parameters:
iRoomHF Valid range from -10000 to 0. Defaults to 0

void IEAXBuffer::SetRoomRolloffFactor ( float fRoomRolloffFactor ) [pure virtual]

Sets the room effect rolloff factor

Parameters:
fRoomRolloffFactor Valid range from 0.0 to 10.0. Defaults to 0.0

The documentation for this class was generated from the following file:
  • IAudioExt.h


Member List

IEAXBuffer Member List

This is the complete list of members for IEAXBuffer, including all inherited members.
  • GetProperties(EAXBufferProps &props)=0 [pure virtual]
  • SetAirAbsorptionFactor(float fAirAbsorptionFactor)=0 [pure virtual]
  • SetDirect(int32 iDirect)=0 [pure virtual]
  • SetDirectHF(int32 iDirectHF)=0 [pure virtual]
  • SetFlags(uint32 nFlags)=0 [pure virtual]
  • SetObstruction(int32 iObstruction)=0 [pure virtual]
  • SetObstructionLFRatio(float fObstructionLFRatio)=0 [pure virtual]
  • SetOcclusion(int32 iOcclusion)=0 [pure virtual]
  • SetOcclusionLFRatio(float fOcclusionLFRatio)=0 [pure virtual]
  • SetOcclusionRoomRatio(float fOcclusionRoomRatio)=0 [pure virtual]
  • SetOutsideVolumeHF(int32 iOutsideVolumeHF)=0 [pure virtual]
  • SetProperties(const EAXBufferProps &props)=0 [pure virtual]
  • SetRoom(int32 iRoom)=0 [pure virtual]
  • SetRoomHF(int32 iRoomHF)=0 [pure virtual]
  • SetRoomRolloffFactor(float fRoomRolloffFactor)=0 [pure virtual]


IEAXListener Class Reference

Public EAX listener interface extension. More...

#include <IAudioExt.h>

List of all members.

Public Methods

virtual void | SetRoom (int32 iRoom)=0
virtual void | SetRoomHF (int32 iRoomHF)=0
virtual void | SetRoomRolloffFactor (float fRoomRolloffFactor)=0
virtual void | SetDecayTime (float fDecayTime)=0
virtual void | SetDecayHFRatio (float fDecayHFRatio)=0
virtual void | SetReflections (int32 iReflections)=0
virtual void | SetReflectionsDelay (float fReflectionsDelay)=0
virtual void | SetReverb (int32 iReverb)=0
virtual void | SetReverbDelay (float fReverbDelay)=0
virtual void | SetEnvironment (uint32 nEnvironment)=0
virtual void | SetEnvironmentSize (float fEnvironmentSize)=0
virtual void | SetEnvironmentDiffusion (float fEnvironmentDiffusion)=0
virtual void | SetAirAbsorptionHF (float fAirAbsorption)=0
virtual void | SetFlags (uint32 nFlags)=0
virtual void | SetProperties (const EAXListenerProps &props)=0
virtual void | GetProperties (EAXListenerProps &props)=0

Detailed Description

Public EAX listener interface extension.

IEAXListener is a public interface class designed to provide an easy-to-use interface to a listener's EAX properties. The interface is obtained through the function Listener::EAX(), and it always guaranteed to return a valid interface, even if EAX is disabled. The specialized interface is much easier to use than a generic property set interface. IEAXListener and any related structures and interfaces are based on the EAX 2.0 specifications.

See also:
IEAXBuffer, IListener, IListener::EAX()

Member Function Documentation

void IEAXListener::GetProperties ( EAXListenerProps & props ) [pure virtual]

Gets all current EAX listener parameters

Parameters:
props all EAX listener properties

void IEAXListener::SetAirAbsorptionHF ( float fAirAbsorption ) [pure virtual]

Sets the air absorption factor

Parameters:
fAirAbsorption Valid range from -100.0 to 0.0. Defaults to -5.0

void IEAXListener::SetDecayHFRatio ( float fDecayHFRatio ) [pure virtual]

Sets the decay high-frequency ratio.

Parameters:
fDecayHFRatio Valid range from 0.1 to 2.0. Defaults to 0.83

void IEAXListener::SetDecayTime ( float fDecayTime ) [pure virtual]

Sets the reverberation decay time in seconds.

Parameters:
fRoomRolloffFactor Valid range from 0.1 to 20.0. Defaults to 1.49

void IEAXListener::SetEnvironment ( uint32 nEnvironment ) [pure virtual]

Sets a preset environment (see eax documentation for listing)

Parameters:
nEnvironment preset environment enumeration

void IEAXListener::SetEnvironmentDiffusion ( float fEnvironmentDiffusion ) [pure virtual]

Sets the level of environment diffusion

Parameters:
fEnvironmentDiffusion Valid range from 0.0 to 1.0. Defaults to 1.0

void IEAXListener::SetEnvironmentSize ( float fEnvironmentSize ) [pure virtual]

Sets the approximate environment size in meters

Parameters:
fEnvironmentSize Valid range from 1.0 to 100.0. Defaults to 7.5

void IEAXListener::SetFlags ( uint32 nFlags ) [pure virtual]

Sets all EAX listener flags - see EAX documentation for details

Parameters:
fEnvironmentDiffusion all EAX listener flags

void IEAXListener::SetProperties ( const EAXListenerProps & props ) [pure virtual]

Sets all current EAX listener parameters

Parameters:
props all EAX listener properties

void IEAXListener::SetReflections ( int32 iReflections ) [pure virtual]

Sets the early reflections level relative to room effect.

Parameters:
iReflections Valid range from -10000 to 1000. Defaults to -2602

void IEAXListener::SetReflectionsDelay ( float fReflectionsDelay ) [pure virtual]

Sets the initial early reflections delay time.

Parameters:
fReflectionsDelay Valid range from 0.0 to 0.3. Defaults to .007

void IEAXListener::SetReverb ( int32 iReverb ) [pure virtual]

Sets the reverberation level.

Parameters:
iReverb Valid range from -10000 to 2000. Defaults to 200

void IEAXListener::SetReverbDelay ( float fReverbDelay ) [pure virtual]

Sets the late reverberation delay time relative to the early reflections delay time.

Parameters:
fReverbDelay Valid range from 0.0 to 0.1. Defaults to 0.011

void IEAXListener::SetRoom ( int32 iRoom ) [pure virtual]

Sets the room effect level.

Parameters:
iRoom Valid range from -10000 to 0. Defaults to -1000

void IEAXListener::SetRoomHF ( int32 iRoomHF ) [pure virtual]

Sets the room effect level at high frequencies.

Parameters:
iRoomHF Valid range from -10000 to 0. Defaults to -1000

void IEAXListener::SetRoomRolloffFactor ( float fRoomRolloffFactor ) [pure virtual]

Sets the room effect rolloff factor.

Parameters:
fRoomRolloffFactor Valid range from 0.0 to 10.0. Defaults to 0.0

The documentation for this class was generated from the following file:
  • IAudioExt.h


Member List

IEAXListener Member List

This is the complete list of members for IEAXListener, including all inherited members.
  • GetProperties(EAXListenerProps &props)=0 [pure virtual]
  • SetAirAbsorptionHF(float fAirAbsorption)=0 [pure virtual]
  • SetDecayHFRatio(float fDecayHFRatio)=0 [pure virtual]
  • SetDecayTime(float fDecayTime)=0 [pure virtual]
  • SetEnvironment(uint32 nEnvironment)=0 [pure virtual]
  • SetEnvironmentDiffusion(float fEnvironmentDiffusion)=0 [pure virtual]
  • SetEnvironmentSize(float fEnvironmentSize)=0 [pure virtual]
  • SetFlags(uint32 nFlags)=0 [pure virtual]
  • SetProperties(const EAXListenerProps &props)=0 [pure virtual]
  • SetReflections(int32 iReflections)=0 [pure virtual]
  • SetReflectionsDelay(float fReflectionsDelay)=0 [pure virtual]
  • SetReverb(int32 iReverb)=0 [pure virtual]
  • SetReverbDelay(float fReverbDelay)=0 [pure virtual]
  • SetRoom(int32 iRoom)=0 [pure virtual]
  • SetRoomHF(int32 iRoomHF)=0 [pure virtual]
  • SetRoomRolloffFactor(float fRoomRolloffFactor)=0 [pure virtual]


IListener Class Reference

IListener represents the listener around which 3D sounds are oriented and positioned. More...

#include <IAudio.h>

List of all members.

Public Methods

virtual bool | Init (const ListenerInit &init)=0
virtual void | Term ()=0
virtual bool | SetProperties (const ListenerProp &prop)=0
virtual void | GetProperties (ListenerProp &prop) const=0
virtual bool | SetPosition (const AUDIOVECTOR &vPos)=0
virtual void | GetPosition (AUDIOVECTOR &vPos) const=0
virtual bool | SetVelocity (const AUDIOVECTOR &vVel)=0
virtual void | GetVelocity (AUDIOVECTOR &vVel) const=0
virtual bool | SetOrientation (const AUDIOVECTOR &vFront, const AUDIOVECTOR &vTop)=0
virtual void | GetOrientation (AUDIOVECTOR &vFront, AUDIOVECTOR &vTop) const=0
virtual bool | SetDistanceFactor (float fDistanceFactor)=0
virtual void | GetDistanceFactor (float &fDistanceFactor) const=0
virtual bool | SetDopplerFactor (float fDopplerFactor)=0
virtual void | GetDopplerFactor (float &fDopplerFactor) const=0
virtual bool | SetRolloffFactor (float fRolloffFactor)=0
virtual void | GetRolloffFactor (float &fRolloffFactor) const=0
virtual bool | QuerySupport (const GUID &guid, uint32 nID, uint32 *pTypeSupport)=0
virtual bool | Get (const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, uint32 *pBytesReturned)=0
virtual bool | Set (const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, bool bStoreProperty)=0
virtual IEAXListener* | EAX ()=0

Detailed Description

IListener represents the listener around which 3D sounds are oriented and positioned.

This class places a virtual "microphone" at a designated position and orientation, and controls how 3D sounds are heard. Properties can also be set and retrieved on the listener object. One example of this is environmental reverberation, such as EAX.

Member Function Documentation

bool IListener::Get ( | const GUID & guidProperty,
 | uint32 nID,
 | void * pInstanceData,
 | uint32 nInstanceLength,
 | void * pPropData,
 | uint32 nPropLength,
 | uint32 * pBytesReturned ) [pure virtual]

This function allows an application to get property set information from a driver. See the DirectX Audio documentation and the documentation for the property set you wish to work with for details on how to use these parameters.

Returns:
true indicates success, false indicates failure.
See also:
QuerySupport(), Set()

void IListener::GetDistanceFactor ( float & fDistanceFactor ) const [pure virtual]

Gets the listener's distance factor.

Parameters:
fDistanceFactor is the number of meters per vector unit
See also:
SetDistanceFactor()

void IListener::GetDopplerFactor ( float & fDopplerFactor ) const [pure virtual]

Gets the listener's doppler factor. See SetDopplerFactor() for addition parameter information.

Parameters:
fDistanceFactor is the doppler factor value
See also:
SetDopplerFactor()

void IListener::GetOrientation ( | AUDIOVECTOR & vFront,
 | AUDIOVECTOR & vTop ) const [pure virtual]

Gets the current listener orientation.

Parameters:
vFront | is the listener's forward orientation.
vTop | is the listener's topward orientation.
See also:
SetOrientation()

void IListener::GetPosition ( AUDIOVECTOR & vPos ) const [pure virtual]

Gets the current listener position.

Parameters:
vPos is the current position.
See also:
SetPosition()

void IListener::GetProperties ( ListenerProp & prop ) const [pure virtual]

Gets all 3D listener properties in a single function call.

Parameters:
prop ListenerProp gets all listener paramaters simultaneously.
See also:
SetProperties()

void IListener::GetRolloffFactor ( float & fRolloffFactor ) const [pure virtual]

Gets the listener's rolloff factor. See SetRolloffFactor() for addition parameter information.

Parameters:
fRolloffFactor is the rolloff factor value
See also:
SetRolloffFactor()

void IListener::GetVelocity ( AUDIOVECTOR & vVel ) const [pure virtual]

Gets the current listener velocity.

Parameters:
vPos is the current velocity.
See also:
GetVelocity()

bool IListener::Init ( const ListenerInit & init ) [pure virtual]

Initializes the listener object with required initialization data.

Parameters:
init ListenerInit structure contains all initialization parameters.
Returns:
true indicates success, false indicates failure.
See also:
ListenerInit, Term()

bool IListener::QuerySupport ( | const GUID & guid,
 | uint32 nID,
 | uint32 * pTypeSupport ) [pure virtual]

Generic property support (for driver-specific extensions). Querying an object allows a program to determine if driver-specific extensions are available on a user's system. By exposing this at the API level, it ensures that the application has complete control over any property sets needed at the application level. See the DirectX Audio documentation and the documentation for the property set you wish to work with for details on how to use these parameters.

Returns:
true indicates success, false indicates failure.
See also:
Get(), Set()

bool IListener::Set ( | const GUID & guidProperty,
 | uint32 nID,
 | void * pInstanceData,
 | uint32 nInstanceLength,
 | void * pPropData,
 | uint32 nPropLength,
 | bool bStoreProperty ) [pure virtual]

This function allows an application to set a driver-specific property. See the DirectX Audio documentation and the documentation for the property set you wish to work with for details on how to use these parameters.

Returns:
true indicates success, false indicates failure.
See also:
Get(), QuerySupport()

bool IListener::SetDistanceFactor ( float fDistanceFactor ) [pure virtual]

Sets the listener's distance factor.

Parameters:
fDistanceFactor is the number of meters per vector unit
Returns:
true indicates success, false indicates failure.
See also:
GetDistanceFactor()

bool IListener::SetDopplerFactor ( float fDopplerFactor ) [pure virtual]

Sets the listener's doppler factor, which is the rate at which pitch will shift when a sound is moving rapidly toward or away from the listener. 1.0, or DS3D_DEFAULTDOPPLERFACTOR is the default. The range is from 0.0 to 10.0, or DS3D_MINDOPPLERFACTOR to DS3D_MAXDOPPLERFACTOR.

Parameters:
fDistanceFactor is the doppler factor value
Returns:
true indicates success, false indicates failure.
See also:
GetDopplerFactor()

bool IListener::SetOrientation ( | const AUDIOVECTOR & vFront,
 | const AUDIOVECTOR & vTop ) [pure virtual]

Sets the current listener orientation.

Parameters:
vFront | is the listener's forward orientation.
vTop | is the listener's topward orientation.
Returns:
true indicates success, false indicates failure.
See also:
GetOrientation()

bool IListener::SetPosition ( const AUDIOVECTOR & vPos ) [pure virtual]

Sets the current listener position.

Parameters:
vPos is the current position.
Returns:
true indicates success, false indicates failure.
See also:
GetPosition()

bool IListener::SetProperties ( const ListenerProp & prop ) [pure virtual]

Sets all 3D listener properties in a single function call.

Parameters:
prop ListenerProp sets all listener paramaters simultaneously.
Returns:
true indicates success, false indicates failure.
See also:
GetProperties()

bool IListener::SetRolloffFactor ( float fRolloffFactor ) [pure virtual]

The rolloff factor adjusts the amount a sound will attenuate over distance. 1.0, or DS3D_DEFAULTROLLOFFFACTOR is the default. The range is from 0.0 to 10.0, or DS3D_MINROLLOFFFACTOR to DS3D_MAXROLLOFFFACTOR.

Parameters:
fRolloffFactor is the rolloff factor value
See also:
GetRolloffFactor()

bool IListener::SetVelocity ( const AUDIOVECTOR & vVel ) [pure virtual]

Sets the current listener velocity.

Parameters:
vPos is the current velocity.
Returns:
true indicates success, false indicates failure.
See also:
GetVelocity()

void IListener::Term ( ) [pure virtual]

Shuts down the listener object. An application normally does not have to call this function since the audio manager will automatically terminate the listener when it exits.

See also:
Init()

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

IListener Member List

This is the complete list of members for IListener, including all inherited members.
  • EAX()=0 (defined in IListener) [pure virtual]
  • Get(const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, uint32 *pBytesReturned)=0 [pure virtual]
  • GetDistanceFactor(float &fDistanceFactor) const=0 [pure virtual]
  • GetDopplerFactor(float &fDopplerFactor) const=0 [pure virtual]
  • GetOrientation(AUDIOVECTOR &vFront, AUDIOVECTOR &vTop) const=0 [pure virtual]
  • GetPosition(AUDIOVECTOR &vPos) const=0 [pure virtual]
  • GetProperties(ListenerProp &prop) const=0 [pure virtual]
  • GetRolloffFactor(float &fRolloffFactor) const=0 [pure virtual]
  • GetVelocity(AUDIOVECTOR &vVel) const=0 [pure virtual]
  • Init(const ListenerInit &init)=0 [pure virtual]
  • QuerySupport(const GUID &guid, uint32 nID, uint32 *pTypeSupport)=0 [pure virtual]
  • Set(const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, bool bStoreProperty)=0 [pure virtual]
  • SetDistanceFactor(float fDistanceFactor)=0 [pure virtual]
  • SetDopplerFactor(float fDopplerFactor)=0 [pure virtual]
  • SetOrientation(const AUDIOVECTOR &vFront, const AUDIOVECTOR &vTop)=0 [pure virtual]
  • SetPosition(const AUDIOVECTOR &vPos)=0 [pure virtual]
  • SetProperties(const ListenerProp &prop)=0 [pure virtual]
  • SetRolloffFactor(float fRolloffFactor)=0 [pure virtual]
  • SetVelocity(const AUDIOVECTOR &vVel)=0 [pure virtual]
  • Term()=0 [pure virtual]


IMusicCallback Class Reference

Music callback interface. More...

#include <IAudio.h>

Inheritance diagram for IMusicCallback::

IMusicManager List of all members.

Public Methods

virtual void OnSegmentStart ()

Detailed Description

Music callback interface.

This class allows an object derived from this interface to receive specific notification messages from the audio manager's low-level segment playback system. Current the only message received is when a new segment starts playback.

Member Function Documentation

void IMusicCallback::OnSegmentStart ( ) [inline, virtual]

This function is called when a music segment begins playback.

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

IMusicCallback Member List

This is the complete list of members for IMusicCallback, including all inherited members.
  • OnSegmentStart() [inline, virtual]


IMusicManager Class Reference

High-level music management interface class. More...

#include <IMusic.h>

Inheritance diagram for IMusicManager::

IMusicCallback List of all members.

Public Methods

virtual bool | Init ()=0
virtual void | Term ()=0
virtual bool | IsInitialized ()=0
virtual bool | LoadScript (std::string sFileName)=0
virtual bool | PlayTheme (std::string sThemeName)=0
virtual void | ResetThemeItr ()=0
virtual bool | GetNextTheme (std::string &sThemeName)=0
virtual bool | RemoveTheme (std::string &sThemeName)=0
virtual bool | RemoveAll ()=0

Detailed Description

High-level music management interface class.

This class allows loading and playback of music scripts. Each script contains a number of themes, each containing a complete transition mapping of segments. Different themes may be transitioned to at run-time, and specific transition mappings based on segments or themes may be defined.

Member Function Documentation

bool IMusicManager::GetNextTheme ( std::string & sThemeName ) [pure virtual]

Retrieves the next theme name. This function can be called repeatedly until it returns false.

Parameters:
sThemeName contains the name of the retrieved theme unless the function returns false, in which case the string will remain unmodified.
Returns:
true indicates another theme was found, false indicates that no more themes were found.
See also:
ResetThemeItr()

bool IMusicManager::Init ( ) [pure virtual]

Initializes the music manager. This must be called after IAudioManager::Init() is called.

Returns:
true indicates success, false indicates failure
See also:
Term(), IAudioManager::Init()

bool IMusicManager::IsInitialized ( ) [pure virtual]

Determines if the music manager is initialized.

Returns:
true indicates the manager is initialized, false indicates the manager is not initialized.
See also:
Init(), Term()

bool IMusicManager::LoadScript ( std::string sFileName ) [pure virtual]

Loads a music script and all associated segments, DLS collections, and themes.

Parameters:
sFileName is the name of the script file to load
Returns:
true indicates success, false indicates failure
See also:
RemoveTheme(), RemoveAll()

bool IMusicManager::PlayTheme ( std::string sThemeName ) [pure virtual]

Plays a new theme based on its given script string ID

Parameters:
sThemeName is the name of the theme ID as defined in the script file. There is no method to stop the theme. Instead, simply retrieve the current theme from the audio manager and stop it in the normal fashion.
Returns:
true indicates success, false indicates failure
See also:
IAudioManager::GetCurrentSegment(), IPlayable::Stop()

bool IMusicManager::RemoveAll ( ) [pure virtual]

Removes all segments, DLS collections, and themes currently mapped in the music manager. This is provided as a convenient method of clearing out all current musical content loaded from any number of scripts.

Returns:
true indicates success, false indicates failure

bool IMusicManager::RemoveTheme ( std::string & sThemeName ) [pure virtual]

Removes a specific theme from the active set. Keep in mind that only the theme definition, not any associated segments and DLS files are removed, since these are defined independently of the themes.

void IMusicManager::ResetThemeItr ( ) [pure virtual]

Resets an internal iterator used to cycle though and retrieve all currently registered themes.

See also:
GetNextTheme()

void IMusicManager::Term ( ) [pure virtual]

Shuts down the music manager. This must be called before IAudioManager::Term() is called.

See also:
Init(), IAudioManager::Term()

The documentation for this class was generated from the following file:
  • IMusic.h


Member List

IMusicManager Member List

This is the complete list of members for IMusicManager, including all inherited members.
  • GetNextTheme(std::string &sThemeName)=0 [pure virtual]
  • Init()=0 [pure virtual]
  • IsInitialized()=0 [pure virtual]
  • LoadScript(std::string sFileName)=0 [pure virtual]
  • OnSegmentStart() [inline, virtual]
  • PlayTheme(std::string sThemeName)=0 [pure virtual]
  • RemoveAll()=0 [pure virtual]
  • RemoveTheme(std::string &sThemeName)=0 [pure virtual]
  • ResetThemeItr()=0 [pure virtual]
  • Term()=0 [pure virtual]


IPlayable Class Reference

Base class defining common interface of all playable audio components. More...

#include <IAudio.h>

Inheritance diagram for IPlayable::

IAudioBase ISegment ISound ISound3D ISoundScape List of all members.

Public Methods

virtual bool | Play ()=0
virtual bool | Pause ()=0
virtual bool | Stop ()=0
virtual bool | IsPlaying () const=0
virtual bool | IsPaused () const=0
virtual bool | IsLooping () const=0

Detailed Description

Base class defining common interface of all playable audio components.

IPlayable defines the common interface to which all basic audio components which can play sound or music must conform. Basic control functions such as Play(), Pause(), and Stop() are defined, as well as status functions to ascertain the current state of the object. Playable objects will automatically attempt to call Load() if the object is not currently loaded when it first attempts to play. If needed, the object will load in a background thread and begin playback immediately after the loading is completed.

Member Function Documentation

bool IPlayable::IsLooping ( ) const [pure virtual]

This function checks to see if the object is set to continuously loop.

Returns:
true if the audio object is set to continuously loop

bool IPlayable::IsPaused ( ) const [pure virtual]

Checks to see if Pause() if this audio object has been paused.

Returns:
true indicates the audio object is playing, otherwise returns false.
See also:
Pause()

bool IPlayable::IsPlaying ( ) const [pure virtual]

Checks to see if the audio object is currently playing.

Returns:
true indicates the audio object is playing, otherwise returns false.
See also:
Play(), Stop(), Pause()

bool IPlayable::Pause ( ) [pure virtual]

Pauses the object playback, leaving the play cursor where it is. Calling Play() after Pause() causes playback to resume where it was stopped, if seeking is supported (note - Segments will start playback from the beginning when paused).

Returns:
true indicates success, false indicates failure.
See also:
IsPaused()

bool IPlayable::Play ( ) [pure virtual]

Plays the audio data as appropriate. Note that looping is considered to be a property of the audio object, not a parameter of the play function.

Returns:
true indicates success, false indicates failure.

bool IPlayable::Stop ( ) [pure virtual]

Stops the audio object playback, resetting the play cursor to the beginning.

Returns:
true indicates success, false indicates failure.

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

IPlayable Member List

This is the complete list of members for IPlayable, including all inherited members.
  • Destroy()=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • IsLooping() const=0 [pure virtual]
  • IsPaused() const=0 [pure virtual]
  • IsPlaying() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • Pause()=0 [pure virtual]
  • Play()=0 [pure virtual]
  • Stop()=0 [pure virtual]
  • Unload()=0 [pure virtual]


ISegment Class Reference

ISegment is the interface for segment audio objects. More...

#include <IAudio.h>

Inheritance diagram for ISegment::

IPlayable IAudioBase List of all members.

Public Methods

virtual bool Init (const SegmentInit &init)=0

Detailed Description

ISegment is the interface for segment audio objects.

ISegment is the interface for sound and music segments. Although segments are primarily used as discrete components in interactive musical playback, they can also be used as specialized sound effects. Segments can contain either MIDI data or digital audio data, and can be associated with a specific DLS collection using the SegmentInit::m_pDLS member.

Member Function Documentation

bool ISegment::Init ( const SegmentInit & init ) [pure virtual]

Initializes the segment object with the data needed to load and play the segment.

Parameters:
init SegmentInit structure contains all initialization parameters.
Returns:
true indicates success, false indicates failure.
See also:
SegmentInit, Destroy()

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

ISegment Member List

This is the complete list of members for ISegment, including all inherited members.
  • Destroy()=0 [pure virtual]
  • Init(const SegmentInit &init)=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • IsLooping() const=0 [pure virtual]
  • IsPaused() const=0 [pure virtual]
  • IsPlaying() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • Pause()=0 [pure virtual]
  • Play()=0 [pure virtual]
  • Stop()=0 [pure virtual]
  • Unload()=0 [pure virtual]


ISound Class Reference

ISound is the interface for 2D sound objects. More...

#include <IAudio.h>

Inheritance diagram for ISound::

IPlayable IAudioBase List of all members.

Public Methods

virtual bool | Init (const SoundInit &init)=0
virtual bool | SetProperties (const SoundProp &prop)=0
virtual bool | GetProperties (SoundProp &prop) const=0
virtual bool | SetVolume (float fVolume)=0
virtual bool | GetVolume (float &fVolume) const=0
virtual bool | SetPan (float fPan)=0
virtual bool | GetPan (float &fPan) const=0
virtual bool | SetPitch (float fPitch)=0
virtual bool | GetPitch (float &fPitch) const=0
virtual bool | SetReadCursor (uint32 nBytes)=0
virtual bool | GetReadCursor (uint32 &nBytes) const=0
virtual bool | GetSourceSize (uint32 &nBytes) const=0

Detailed Description

ISound is the interface for 2D sound objects.

ISound-derived objects are representation of 2D sounds. These objects should be used for any sound that does not require true 3D positioning. The interface provides specific initalization routines, pan controls, and read cursor controls.

Member Function Documentation

bool ISound::GetPan ( float & fPan ) const [pure virtual]

Gets the current pan value.

Parameters:
fPan will contain the current pan value for this buffer. The value will be between AUD_PAN_LEFT and AUD_PAN_RIGHT.
Returns:
true indicates success, false indicates failure.
See also:
SetPan()

bool ISound::GetPitch ( float & fPitch ) const [pure virtual]

Gets the objects frequency in hertz

Returns:
true indicates success, false indicates failure.
See also:
SetPitch()

bool ISound::GetProperties ( SoundProp & prop ) const [pure virtual]

Gets all properties simultaneously.

Parameters:
prop is a structure holding all modifiable properties.
Returns:
true indicates success, false indicates failure.
See also:
SetProperties()

bool ISound::GetReadCursor ( uint32 & nBytes ) const [pure virtual]

Gets the current read cursor position in bytes.

Parameters:
nBytes will be the number of bytes from the beginning of the source.
Returns:
true indicates success, false indicates failure.
See also:
SetReadCursor()

bool ISound::GetSourceSize ( uint32 & nBytes ) const [pure virtual]

Retrieves the total size of the current source in bytes.

Parameters:
nBytes total size retrieved of the source in bytes.
Returns:
true indicates success, false indicates failure.

bool ISound::GetVolume ( float & fVolume ) const [pure virtual]

Gets the volume for this audio object.

Parameters:
fVolume retrieves the current object's volume
Returns:
true indicates success, false indicates failure.
See also:
SetVolume()

bool ISound::Init ( const SoundInit & init ) [pure virtual]

Initializes the 2D sound parameters. This must be the first function called on the sound after the object is created.

Parameters:
init is the initialization structure for 2D sounds, containing pamrameters needed to create the sound.
Returns:
true indicates success, false indicates failure
See also:
SoundInit, Destroy()

bool ISound::SetPan ( float fPan ) [pure virtual]

Sets the pan value on the sound. This function could fail if the buffers is not allowed to make pan changes due to hardware limitations or conflicting parameters.

Parameters:
fPan is automatically clamped between AUD_PAN_LEFT and AUD_PAN_RIGHT.
Returns:
true indicates success, false indicates failure.
See also:
GetPan()

bool ISound::SetPitch ( float fPitch ) [pure virtual]

Sets the desired frequency of the audio object relative to its original frequency. For instance, a value of 0.5 sets it to half the original pitch, and a value of 2.0 doubles the pitch. Note that the pitch range may be constained by the sample's original pitch and the range allowed in hardware.

Returns:
true indicates success, false indicates failure.
See also:
GetPitch()

bool ISound::SetProperties ( const SoundProp & prop ) [pure virtual]

Sets all properties simultaneously.

Parameters:
prop contains all properties to set.
Returns:
true indicates success, false indicates failure
See also:
GetProperties()

bool ISound::SetReadCursor ( uint32 nBytes ) [pure virtual]

Sets the current read cursor position in bytes in the current source.

Parameters:
nBytes sets the number of bytes from the beginning of the source.
Returns:
true indicates success, false indicates failure.
See also:
GetReadCursor()

bool ISound::SetVolume ( float fVolume ) [pure virtual]

Sets the individual volume of a 2D sound. This value will decrease the volume in addition to any decrease from maximum volume set in the master volume controls.

Parameters:
fVolume sets the volume desired
Returns:
true indicates success, false indicates failure.
See also:
GetVolume()

The documentation for this class was generated from the following file:
  • IAudio.h


ISound3D Class Reference

ISound3D is the interface for 3D sound objects. More...

#include <IAudio.h>

Inheritance diagram for ISound3D::

IPlayable IAudioBase List of all members.

Public Methods

virtual bool | Init (const Sound3DInit &init)=0
virtual bool | SetProperties (const Sound3DProp &prop)=0
virtual bool | GetProperties (Sound3DProp &prop) const=0
virtual bool | SetPosition (const AUDIOVECTOR &vPosition)=0
virtual bool | GetPosition (AUDIOVECTOR &vPosition) const=0
virtual bool | SetVelocity (const AUDIOVECTOR &vVelocity)=0
virtual bool | GetVelocity (AUDIOVECTOR &vVelocity) const=0
virtual bool | SetMaxDistance (float fMaxDist)=0
virtual bool | GetMaxDistance (float &fMaxDist) const=0
virtual bool | SetMinDistance (float fMinDist)=0
virtual bool | GetMinDistance (float &fMinDist) const=0
virtual bool | SetConeAngles (uint32 nInside, uint32 nOutside)=0
virtual bool | GetConeAngles (uint32 &nInside, uint32 &nOutside) const=0
virtual bool | SetConeOrientation (const AUDIOVECTOR &vOrientation)=0
virtual bool | GetConeOrientation (AUDIOVECTOR &vOrientation) const=0
virtual bool | SetConeOutsideVolume (float fVolume)=0
virtual bool | GetConeOutsideVolume (float &fVolume) const=0
virtual bool | SetMode (uint32 nMode)=0
virtual bool | GetMode (uint32 &nMode) const=0
virtual bool | SetVolume (float fVolume)=0
virtual bool | GetVolume (float &fVolume) const=0
virtual bool | SetPitch (float fPitch)=0
virtual bool | GetPitch (float &fPitch) const=0
virtual bool | SetReadCursor (uint32 nBytes)=0
virtual bool | GetReadCursor (uint32 &nBytes) const=0
virtual bool | GetSourceSize (uint32 &nBytes) const=0
virtual IEAXBuffer* | EAX ()=0
virtual IZoomFX* | ZoomFX ()=0
virtual bool | QuerySupport (const GUID &guid, uint32 nID, uint32 *pTypeSupport)=0
virtual bool | Get (const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, uint32 *pBytesReturned)=0
virtual bool | Set (const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, bool bStoreProperty)=0

Detailed Description

ISound3D is the interface for 3D sound objects.

ISound3D-derived objects represent sounds located in 3D world or local space. The ISound3D interface provides specific initalization routines and 3d functions, as well as functions for setting the read cursor position and getting the source size.

Member Function Documentation

IEAXBuffer * ISound3D::EAX ( ) [pure virtual]

Retrieves the IEAXBuffer interface. The function is guaranteed never to fail, so there is no need to check the interface pointer for null.

Returns:
The IEAXBuffer interface is returned.
See also:
IEAXBuffer

bool ISound3D::Get ( | const GUID & guidProperty,
 | uint32 nID,
 | void * pInstanceData,
 | uint32 nInstanceLength,
 | void * pPropData,
 | uint32 nPropLength,
 | uint32 * pBytesReturned ) [pure virtual]

This function allows an application to get property set information from a driver. See the DirectX Audio documentation and the documentation for the property set you wish to work with for details on how to use these parameters.

Returns:
true indicates success, false indicates failure.
See also:
QuerySupport(), Set()

bool ISound3D::GetConeAngles ( | uint32 & nInside,
 | uint32 & nOutside ) const [pure virtual]

Gets the inside and outside cone angles of the sound. Paramater values are in degrees, and valid ranges are 0 to 360.

Parameters:
nInside | is the inside angle in degrees.
nOutside | is the outside angle in degrees.
Returns:
true indicates success, false indicates failure.
See also:
SetConeAngles()

bool ISound3D::GetConeOrientation ( AUDIOVECTOR & vOrientation ) const [pure virtual]

Gets the orientation of the sound cone.

Parameters:
vOrientation is the orientation of the sound.
Returns:
true indicates success, false indicates failure.
See also:
SetConeOrientation()

bool ISound3D::GetConeOutsideVolume ( float & fVolume ) const [pure virtual]

Gets the volume outside the sound cone.

Parameters:
fVolume gets the outside cone volume. Valid range is from AUD_VOLUME_MIN to AUD_VOLUME_MAX.
Returns:
true indicates success, false indicates failure.
See also:
SetConeOutsideVolume()

bool ISound3D::GetMaxDistance ( float & fMaxDist ) const [pure virtual]

Gets the maximum distance at which a sound can be heard.

Parameters:
fMaxDist is distance to get in world units.
Returns:
true indicates success, false indicates failure.
See also:
SetMaxDistance()

bool ISound3D::GetMinDistance ( float & fMinDist ) const [pure virtual]

Gets the minimum distance at which a sound begins to attenuate with distance.

Parameters:
fMinDist is distance to get in world units.
Returns:
true indicates success, false indicates failure.
See also:
SetMinDistance()

bool ISound3D::GetMode ( uint32 & nMode ) const [pure virtual]

Sets the 3D sound processing mode.

Parameters:
nMode is the processing mode. See SetMode() for possible values.
Returns:
true indicates success, false indicates failure.
See also:
SetMode()

bool ISound3D::GetPitch ( float & fPitch ) const [pure virtual]

Gets the objects frequency in hertz

Returns:
true indicates success, false indicates failure.
See also:
SetPitch()

bool ISound3D::GetPosition ( AUDIOVECTOR & vPosition ) const [pure virtual]

Retrieves the current position of the sound source.

Parameters:
vPosition gets the position in 3D space.
Returns:
true indicates success, false indicates failure.
See also:
SetPosition()

bool ISound3D::GetProperties ( Sound3DProp & prop ) const [pure virtual]

Gets all 3D properties simultaneously.

Parameters:
prop is a structure holding all 3d properties.
Returns:
true indicates success, false indicates failure.
See also:
Set3DProperties()

bool ISound3D::GetReadCursor ( uint32 & nBytes ) const [pure virtual]

Gets the current read cursor position in bytes.

Parameters:
nBytes will be the number of bytes from the beginning of the source.
Returns:
true indicates success, false indicates failure.
See also:
SetReadCursor()

bool ISound3D::GetSourceSize ( uint32 & nBytes ) const [pure virtual]

Retrieves the total size of the current source in bytes.

Parameters:
nBytes total size retrieved of the source in bytes.
Returns:
true indicates success, false indicates failure.

bool ISound3D::GetVelocity ( AUDIOVECTOR & vVelocity ) const [pure virtual]

Retrieves the current velocity of the sound source.

Parameters:
vPosition gets the velocity in 3D space.
Returns:
true indicates success, false indicates failure.
See also:
SetVelocity()

bool ISound3D::GetVolume ( float & fVolume ) const [pure virtual]

Gets the volume for this audio object.

Parameters:
fVolume retrieves the current object's volume
Returns:
true indicates success, false indicates failure.
See also:
SetVolume()

bool ISound3D::Init ( const Sound3DInit & init ) [pure virtual]

Initializes the 2D sound parameters. This must be the first function called on the sound after the object is created.

Parameters:
init is the initialization structure for 2D sounds, containing pamrameters needed to create the sound.
Returns:
true indicates success, false indicates failure.
See also:
Sound3DInit, Destroy()

bool ISound3D::QuerySupport ( | const GUID & guid,
 | uint32 nID,
 | uint32 * pTypeSupport ) [pure virtual]

Generic property support (for driver-specific extensions). Querying an object allows a program to determine if driver-specific extensions are available on a user's system. By exposing this at the API level, it ensures that the application has complete control over any property sets needed at the application level. See the DirectX Audio documentation and the documentation for the property set you wish to work with for details on how to use these parameters.

Returns:
true indicates success, false indicates failure.
See also:
Get(), Set()

bool ISound3D::Set ( | const GUID & guidProperty,
 | uint32 nID,
 | void * pInstanceData,
 | uint32 nInstanceLength,
 | void * pPropData,
 | uint32 nPropLength,
 | bool bStoreProperty ) [pure virtual]

This function allows an application to set a driver-specific property. See the DirectX Audio documentation and the documentation for the property set you wish to work with for details on how to use these parameters.

Parameters:
bStoreProperty This specific audio extention tells the audio object to store this property setting and automatically restore the setting when an object is unloaded, and then reloaded.
Returns:
true indicates success, false indicates failure.
See also:
Get(), QuerySupport()

bool ISound3D::SetConeAngles ( | uint32 nInside,
 | uint32 nOutside ) [pure virtual]

Sets the inside and outside cone angles of the sound. Paramater values are in degrees, and valid ranges are 0 to 360.

Parameters:
nInside | is the inside angle in degrees.
nOutside | is the outside angle in degrees.
Returns:
true indicates success, false indicates failure.
See also:
GetConeAngles()

bool ISound3D::SetConeOrientation ( const AUDIOVECTOR & vOrientation ) [pure virtual]

Sets the orientation of the sound cone.

Parameters:
vOrientation is the orientation of the sound.
Returns:
true indicates success, false indicates failure.
See also:
GetConeOrientation()

bool ISound3D::SetConeOutsideVolume ( float fVolume ) [pure virtual]

Sets the volume outside the sound cone.

Parameters:
fVolume sets the outside cone volume. Valid range is from AUD_VOLUME_MIN to AUD_VOLUME_MAX.
Returns:
true indicates success, false indicates failure.
See also:
GetConeOutsideVolume()

bool ISound3D::SetMaxDistance ( float fMaxDist ) [pure virtual]

Sets the maximum distance at which a sound can be heard.

Parameters:
fMaxDist is distance to set in world units.
Returns:
true indicates success, false indicates failure.
See also:
GetMaxDistance()

bool ISound3D::SetMinDistance ( float fMinDist ) [pure virtual]

Sets the minimum distance at which a sound begins to attenuate with distance.

Parameters:
fMinDist is distance to set in world units.
Returns:
true indicates success, false indicates failure.
See also:
GetMinDistance()

bool ISound3D::SetMode ( uint32 nMode ) [pure virtual]

Sets the 3D sound processing mode.

Parameters:
nMode is the processing mode. Possible values are:
  • DS3DMODE_DISABLE: 3D processing is disabled. Sound appears to originate from the listener's head.
  • DS3DMODE_HEADRELATIVE: All 3D parameters are relative to the listener's position and orientation.
  • DS3DMODE_NORMAL: This is the standard, default mode. All 3D parameters are in absolute world coordinates.
Returns:
true indicates success, false indicates failure.
See also:
GetMode()

bool ISound3D::SetPitch ( float fPitch ) [pure virtual]

Sets the desired frequency of the audio object relative to its original frequency. For instance, a value of 0.5 sets it to half the original pitch, and a value of 2.0 doubles the pitch. Note that the pitch range may be constained by the sample's original pitch and the range allowed in hardware.

Returns:
true indicates success, false indicates failure.
See also:
GetPitch()

bool ISound3D::SetPosition ( const AUDIOVECTOR & vPosition ) [pure virtual]

Sets the current position of the sound source.

Parameters:
vPosition sets the position in 3D space.
Returns:
true indicates success, false indicates failure.
See also:
GetPosition()

bool ISound3D::SetProperties ( const Sound3DProp & prop ) [pure virtual]

Sets all 3D properties simultaneously.

Parameters:
prop contains all 3d properties to set.
Returns:
true indicates success, false indicates failure
See also:
GetProperties()

bool ISound3D::SetReadCursor ( uint32 nBytes ) [pure virtual]

Sets the current read cursor position in bytes in the current source.

Parameters:
nBytes sets the number of bytes from the beginning of the source.
Returns:
true indicates success, false indicates failure.
See also:
GetReadCursor()

bool ISound3D::SetVelocity ( const AUDIOVECTOR & vVelocity ) [pure virtual]

Sets the current velocity of the sound source.

Parameters:
vPosition sets the velocity in 3D space.
Returns:
true indicates success, false indicates failure.
See also:
GetVelocity()

bool ISound3D::SetVolume ( float fVolume ) [pure virtual]

Sets the individual volume of a 3D sound. This value will decrease the volume in addition to any decrease from maximum volume set in the master volume controls.

Parameters:
fVolume sets the volume desired
Returns:
true indicates success, false indicates failure.
See also:
GetVolume()

IZoomFX * ISound3D::ZoomFX ( ) [pure virtual]

Retrieves the IZoomFX interface. The function is guaranteed never to fail, so there is no need to check the interface pointer for null.

Returns:
The IZoomFX interface is returned.
See also:
IZoomFX

The documentation for this class was generated from the following file:
  • IAudio.h


Member List

ISound3D Member List

This is the complete list of members for ISound3D, including all inherited members.
  • Destroy()=0 [pure virtual]
  • EAX()=0 [pure virtual]
  • Get(const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, uint32 *pBytesReturned)=0 [pure virtual]
  • GetConeAngles(uint32 &nInside, uint32 &nOutside) const=0 [pure virtual]
  • GetConeOrientation(AUDIOVECTOR &vOrientation) const=0 [pure virtual]
  • GetConeOutsideVolume(float &fVolume) const=0 [pure virtual]
  • GetMaxDistance(float &fMaxDist) const=0 [pure virtual]
  • GetMinDistance(float &fMinDist) const=0 [pure virtual]
  • GetMode(uint32 &nMode) const=0 [pure virtual]
  • GetPitch(float &fPitch) const=0 [pure virtual]
  • GetPosition(AUDIOVECTOR &vPosition) const=0 [pure virtual]
  • GetProperties(Sound3DProp &prop) const=0 [pure virtual]
  • GetReadCursor(uint32 &nBytes) const=0 [pure virtual]
  • GetSourceSize(uint32 &nBytes) const=0 [pure virtual]
  • GetVelocity(AUDIOVECTOR &vVelocity) const=0 [pure virtual]
  • GetVolume(float &fVolume) const=0 [pure virtual]
  • Init(const Sound3DInit &init)=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • IsLooping() const=0 [pure virtual]
  • IsPaused() const=0 [pure virtual]
  • IsPlaying() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • Pause()=0 [pure virtual]
  • Play()=0 [pure virtual]
  • QuerySupport(const GUID &guid, uint32 nID, uint32 *pTypeSupport)=0 [pure virtual]
  • Set(const GUID &guidProperty, uint32 nID, void *pInstanceData, uint32 nInstanceLength, void *pPropData, uint32 nPropLength, bool bStoreProperty)=0 [pure virtual]
  • SetConeAngles(uint32 nInside, uint32 nOutside)=0 [pure virtual]
  • SetConeOrientation(const AUDIOVECTOR &vOrientation)=0 [pure virtual]
  • SetConeOutsideVolume(float fVolume)=0 [pure virtual]
  • SetMaxDistance(float fMaxDist)=0 [pure virtual]
  • SetMinDistance(float fMinDist)=0 [pure virtual]
  • SetMode(uint32 nMode)=0 [pure virtual]
  • SetPitch(float fPitch)=0 [pure virtual]
  • SetPosition(const AUDIOVECTOR &vPosition)=0 [pure virtual]
  • SetProperties(const Sound3DProp &prop)=0 [pure virtual]
  • SetReadCursor(uint32 nBytes)=0 [pure virtual]
  • SetVelocity(const AUDIOVECTOR &vVelocity)=0 [pure virtual]
  • SetVolume(float fVolume)=0 [pure virtual]
  • Stop()=0 [pure virtual]
  • Unload()=0 [pure virtual]
  • ZoomFX()=0 [pure virtual]


ISoundManager Class Reference

Controls and manages high-level sound objects. More...

#include <ISound.h>

List of all members.

Public Methods

virtual bool | Init ()=0
virtual void | Term ()=0
virtual bool | IsInitialized ()=0
virtual bool | LoadScript (std::string sFileName)=0
virtual bool | RemoveAll ()=0
virtual bool | GetSound (std::string sSoundName, ISound *&pSound)=0
virtual bool | GetSoundInit (std::string sSoundName, SoundInit &init)=0
virtual bool | ReleaseSound (std::string sSoundName, ISound *pSound)=0
virtual bool | IsSoundRegistered (std::string sSoundName)=0
virtual void | ResetSoundItr ()=0
virtual bool | GetNextSound (std::string &sSoundName)=0
virtual bool | RemoveSound (std::string sSoundName)=0
virtual bool | RemoveAllSounds ()=0
virtual bool | GetSound3D (std::string sSound3DName, ISound3D *&pSound3D)=0
virtual bool | GetSound3DInit (std::string sSound3DName, Sound3DInit &init)=0
virtual bool | ReleaseSound3D (std::string sSound3DName, ISound3D *pSound3D)=0
virtual bool | IsSound3DRegistered (std::string sSound3DName)=0
virtual void | ResetSound3DItr ()=0
virtual bool | GetNextSound3D (std::string &sSound3DName)=0
virtual bool | RemoveSound3D (std::string sSound3DName)=0
virtual bool | RemoveAllSounds3D ()=0
virtual bool | CreateSoundScape (ISoundScape *&pSoundScape)=0
virtual bool | InitSoundScape (std::string sSoundScapeName, ISoundScape *&pSoundScape)=0
virtual bool | IsSoundScapeRegistered (std::string sSoundScapeName)=0
virtual void | ResetSoundScapeItr ()=0
virtual bool | GetNextSoundScape (std::string &sSoundScapeName)=0
virtual bool | RemoveSoundScape (std::string sSoundScapeName)=0
virtual bool | RemoveAllSoundScapes ()=0

Detailed Description

Controls and manages high-level sound objects.

ISoundManager is responsible for managing high-level sound objects, including multiple-instance ISound and ISound3D objects, and ISoundScape objects. Definitions are loaded using a text-based script, and individual objects are instantiated using the string-based identifiers found in the scripts.

Member Function Documentation

bool ISoundManager::GetSound ( | std::string sSoundName,
 | ISound *& pSound ) [pure virtual]

Gets a cached sound if one is available. If not, the function creates and returns a new sound object.

Parameters:
sSoundName | name of the sound definition as defined in a loaded script file.
pSound | ISound interface to retrieve.
Returns:
true indicates success, false indicates failure.
See also:
ReleaseSound()

bool ISoundManager::GetSound3D ( | std::string sSound3DName,
 | ISound3D *& pSound3D ) [pure virtual]

Gets a cached 3D sound if one is available. If not, the function creates and returns a new 3D sound object.

Parameters:
sSound3DName | name of the 3D sound definition as defined in a loaded script file.
pSound3D | ISound3D interface to retrieve.
Returns:
true indicates success, false indicates failure.
See also:
ReleaseSound3D()

bool ISoundManager::GetSound3DInit ( | std::string sSound3DName,
 | Sound3DInit & init ) [pure virtual]

Retrieves a 3D sound initialization structure for a given sound script definition. This allows you to create 3D sounds indepenent of the sound caching mechanism while still using the script system.

Returns:
true indicates success, false indicates failure.

bool ISoundManager::GetSoundInit ( | std::string sSoundName,
 | SoundInit & init ) [pure virtual]

Retrieves a sound initialization structure for a given sound script definition. This allows you to create sounds indepenent of the sound caching mechanism while still using the script system.

Returns:
true indicates success, false indicates failure.

bool ISoundManager::Init ( ) [pure virtual]

Initializes the sound manager. This must be called after the low-level audio manager has been initalized, and before any other sound manager calls are made, except for IsInitialized().

Returns:
true indicates success, false indicates failure.
See also:
Term(), IsInitialized()

bool ISoundManager::IsInitialized ( ) [pure virtual]

Determines if the sound manager is initialized.

Returns:
true indicates the manager is initialized, false indicates the manager is not initialized.
See also:
Init(), Term()

bool ISoundManager::LoadScript ( std::string sFileName ) [pure virtual]

Loads a sound script containing ISound, ISound3D, or ISoundScape definitions.

Parameters:
sFileName name of the sound script to load
Returns:
true indicates success, false indicates failure.
See also:
RemoveAll()

bool ISoundManager::RemoveAll ( ) [pure virtual]

Removes all ISound, ISound3D, and ISoundscape definitions. In addition, all sound objects currently associated with ISound or ISound3D definitions will be removed.

Parameters:
sFileName name of the sound script to load
Returns:
true indicates success, false indicates failure.
See also:
RemoveAll()

void ISoundManager::Term ( ) [pure virtual]

Shuts down the sound manager. This should be called before the low-level audio manager is shut down. Any calls made to this interface after Term() is called will fail except for Init() and IsInitialized(), which simply reports status and cannot fail.

See also:
Init(), IsInitialized()

The documentation for this class was generated from the following file:
  • ISound.h


Member List

ISoundManager Member List

This is the complete list of members for ISoundManager, including all inherited members.
  • CreateSoundScape(ISoundScape *&pSoundScape)=0 (defined in ISoundManager) [pure virtual]
  • GetNextSound(std::string &sSoundName)=0 (defined in ISoundManager) [pure virtual]
  • GetNextSound3D(std::string &sSound3DName)=0 (defined in ISoundManager) [pure virtual]
  • GetNextSoundScape(std::string &sSoundScapeName)=0 (defined in ISoundManager) [pure virtual]
  • GetSound(std::string sSoundName, ISound *&pSound)=0 [pure virtual]
  • GetSound3D(std::string sSound3DName, ISound3D *&pSound3D)=0 [pure virtual]
  • GetSound3DInit(std::string sSound3DName, Sound3DInit &init)=0 [pure virtual]
  • GetSoundInit(std::string sSoundName, SoundInit &init)=0 [pure virtual]
  • Init()=0 [pure virtual]
  • InitSoundScape(std::string sSoundScapeName, ISoundScape *&pSoundScape)=0 (defined in ISoundManager) [pure virtual]
  • IsInitialized()=0 [pure virtual]
  • IsSound3DRegistered(std::string sSound3DName)=0 (defined in ISoundManager) [pure virtual]
  • IsSoundRegistered(std::string sSoundName)=0 (defined in ISoundManager) [pure virtual]
  • IsSoundScapeRegistered(std::string sSoundScapeName)=0 (defined in ISoundManager) [pure virtual]
  • LoadScript(std::string sFileName)=0 [pure virtual]
  • ReleaseSound(std::string sSoundName, ISound *pSound)=0 (defined in ISoundManager) [pure virtual]
  • ReleaseSound3D(std::string sSound3DName, ISound3D *pSound3D)=0 (defined in ISoundManager) [pure virtual]
  • RemoveAll()=0 [pure virtual]
  • RemoveAllSounds()=0 (defined in ISoundManager) [pure virtual]
  • RemoveAllSounds3D()=0 (defined in ISoundManager) [pure virtual]
  • RemoveAllSoundScapes()=0 (defined in ISoundManager) [pure virtual]
  • RemoveSound(std::string sSoundName)=0 (defined in ISoundManager) [pure virtual]
  • RemoveSound3D(std::string sSound3DName)=0 (defined in ISoundManager) [pure virtual]
  • RemoveSoundScape(std::string sSoundScapeName)=0 (defined in ISoundManager) [pure virtual]
  • ResetSound3DItr()=0 (defined in ISoundManager) [pure virtual]
  • ResetSoundItr()=0 (defined in ISoundManager) [pure virtual]
  • ResetSoundScapeItr()=0 (defined in ISoundManager) [pure virtual]
  • Term()=0 [pure virtual]


ISoundScape Class Reference

Class defining a collection of sounds which make up a soundscape. More...

#include <ISound.h>

Inheritance diagram for ISoundScape::

IPlayable IAudioBase List of all members.

Public Methods

virtual bool | Init ()=0
virtual bool | AddElement (const BackgroundInit &init)=0
virtual bool | AddElement (const PeriodicInit &init)=0
virtual bool | SetVolume (float fVolume)=0
virtual bool | GetVolume (float &fVolume) const=0

Detailed Description

Class defining a collection of sounds which make up a soundscape.

ISoundScape represents a collection of looping background sounds and randomly firing 3D positional elements which can be collectively adjusted and controlled via the IPlayable interface.

Member Function Documentation

bool ISoundScape::AddElement ( const PeriodicInit & init ) [pure virtual]

Adds a periodic element to the soundscape.

Parameters:
init defines the characteristics of the periodic element
Returns:
true indicates success, false indicates failure.

bool ISoundScape::AddElement ( const BackgroundInit & init ) [pure virtual]

Adds a background element to the soundscape.

Parameters:
init defines the characteristics of the background element
Returns:
true indicates success, false indicates failure.

bool ISoundScape::GetVolume ( float & fVolume ) const [pure virtual]

Gets the volume for this soundscape.

Parameters:
fVolume retrieves the current object's volume
Returns:
true indicates success, false indicates failure.
See also:
SetVolume()

bool ISoundScape::SetVolume ( float fVolume ) [pure virtual]

Sets the collective volume of a soundscape. This value will decrease the volume in addition to any decrease from maximum volume set in the master volume controls.

Parameters:
fVolume sets the volume desired
Returns:
true indicates success, false indicates failure.
See also:
GetVolume()

The documentation for this class was generated from the following file:
  • ISound.h


Member List

ISoundScape Member List

This is the complete list of members for ISoundScape, including all inherited members.
  • AddElement(const BackgroundInit &init)=0 [pure virtual]
  • AddElement(const PeriodicInit &init)=0 [pure virtual]
  • Destroy()=0 [pure virtual]
  • GetVolume(float &fVolume) const=0 [pure virtual]
  • Init()=0 (defined in ISoundScape) [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • IsLooping() const=0 [pure virtual]
  • IsPaused() const=0 [pure virtual]
  • IsPlaying() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • Pause()=0 [pure virtual]
  • Play()=0 [pure virtual]
  • SetVolume(float fVolume)=0 [pure virtual]
  • Stop()=0 [pure virtual]
  • Unload()=0 [pure virtual]


IZoomFX Class Reference

Public ZoomFX buffer interface extension. More...

#include <IAudioExt.h>

List of all members.

Public Methods

virtual void | SetBox (const ZoomFXBox &box)=0
virtual void | SetOrientation (const ZoomFXOrientation &orientation)=0
virtual void | SetMacroFX (uint32 nMacroFX)=0
virtual void | SetProperties (const ZoomFXProps &props)=0
virtual void | GetProperties (ZoomFXProps &props)=0

Detailed Description

Public ZoomFX buffer interface extension.

Member Function Documentation

void IZoomFX::GetProperties ( ZoomFXProps & props ) [pure virtual]

Gets all ZoomFX and MacroFX properties at once.

Parameters:
props all properties to get

void IZoomFX::SetBox ( const ZoomFXBox & box ) [pure virtual]

Set the ZoomFX bounding box dimensions.

Parameters:
box ZoomFXBox used to set the min and max coordinates of the bounding box

void IZoomFX::SetMacroFX ( uint32 nMacroFX ) [pure virtual]

Sets the percentage level of the MacroFX near-position effect.

Parameters:
nMacroFX percentage of effect

void IZoomFX::SetOrientation ( const ZoomFXOrientation & orientation ) [pure virtual]

Set the ZoomFX bounding box orientation.

Parameters:
orientation The ZoomFXOrientation structure uses two vectors to define the bounding box orientation.

void IZoomFX::SetProperties ( const ZoomFXProps & props ) [pure virtual]

Sets all ZoomFX and MacroFX properties at once.

Parameters:
props all properties to set

The documentation for this class was generated from the following file:
  • IAudioExt.h


Member List

IZoomFX Member List

This is the complete list of members for IZoomFX, including all inherited members.
  • GetProperties(ZoomFXProps &props)=0 [pure virtual]
  • SetBox(const ZoomFXBox &box)=0 [pure virtual]
  • SetMacroFX(uint32 nMacroFX)=0 [pure virtual]
  • SetOrientation(const ZoomFXOrientation &orientation)=0 [pure virtual]
  • SetProperties(const ZoomFXProps &props)=0 [pure virtual]


ListenerInit Struct Reference

This structure contains all parameters needed for the IListener initialization. More...

#include <IAudio.h>

List of all members.

Public Methods

ListenerInit ()
The structure clears all variables when the object is created.

void | Clear ()
Clear sets all variables to zero or to appropriate default values.

Public Attributes

ListenerProp | m_Prop

Detailed Description

This structure contains all parameters needed for the IListener initialization.

The documentation for this struct was generated from the following file:
  • IAudio.h


Member List

ListenerInit Member List

This is the complete list of members for ListenerInit, including all inherited members.
  • Clear() [inline]
  • ListenerInit() [inline]
  • m_Prop (defined in ListenerInit)


ListenerProp Struct Reference

This structure contains all the 3D properties of the listener. More...

#include <IAudio.h>

List of all members.

Public Methods

ListenerProp ()
The structure clears all variables when the object is created.

void | Clear ()
Clear sets all variables to zero or to appropriate default values.

Public Attributes

AUDIOVECTOR | m_vPosition
Current position of the listener.

AUDIOVECTOR | m_vVelocity
Current velocity of the listener.

AUDIOVECTOR | m_vOrientFront
Vector defining the forward orientation of the listener.

AUDIOVECTOR | m_vOrientTop
Vector defining the upward orientation of the listener.

float | m_fDistanceFactor
Number of meters per vector unit.

float | m_fRolloffFactor
Attenuation of sound over distance. More...

float | m_fDopplerFactor
Adjusts the global doppler factor. More...

Detailed Description

This structure contains all the 3D properties of the listener.

Member Data Documentation

float ListenerProp::m_fDopplerFactor

Adjusts the global doppler factor.

See also:
IListener::SetDopplerFactor() for parameter info

float ListenerProp::m_fRolloffFactor

Attenuation of sound over distance.

See also:
IListener::SetRolloffFactor() for parameter info

The documentation for this struct was generated from the following file:
  • IAudio.h


Member List

ListenerProp Member List

This is the complete list of members for ListenerProp, including all inherited members.
  • Clear() [inline]
  • ListenerProp() [inline]
  • m_fDistanceFactor
  • m_fDopplerFactor
  • m_fRolloffFactor
  • m_vOrientFront
  • m_vOrientTop
  • m_vPosition
  • m_vVelocity


PeriodicInit Struct Reference

struct used for initializing a peroidic element. More...

#include <ISound.h>

List of all members.

Public Methods

PeriodicInit ()
Constructor clears all values to defaults.

void | Clear ()
Clears all structure members to default values.

Public Attributes

ISound3D* m_pSound3D
3D Sound to play as periodic element.

float | m_fMinPitch
Minimum random pitch.

float | m_fMaxPitch
Maximum random pitch.

float | m_fMinDelay
Minimum delay between random plays.

float | m_fMaxDelay
Maximum delay between random plays.

float | m_fXRange
Maximum distance from listener on the x axis (both pos and neg).

float | m_fYRange
Maximum distance from listener on the y axis (both pos and neg).

float | m_fZRange
Maximum distance from listener on the z axis (both pos and neg).

float | m_fMinDistance
Minimum distance from listener on all axes.

Detailed Description

struct used for initializing a peroidic element.

The documentation for this struct was generated from the following file:
  • ISound.h


Member List

PeriodicInit Member List

This is the complete list of members for PeriodicInit, including all inherited members.
  • Clear() [inline]
  • m_fMaxDelay
  • m_fMaxPitch
  • m_fMinDelay
  • m_fMinDistance
  • m_fMinPitch
  • m_fXRange
  • m_fYRange
  • m_fZRange
  • m_pSound3D
  • PeriodicInit() [inline]


SegmentInit Struct Reference

Initialization structure for the ISegment class. More...

#include <IAudio.h>

List of all members.

Public Methods

SegmentInit ()
void | Clear ()

Public Attributes

std::string | m_sFileName
Source file used when creating segment object. More...

bool | m_bLooping
Does the segment loop?

bool | m_bMusic
Is this segment part of the music playback system? (defaults to true).

IDLS* m_pDLS
This DLS object is used by the segment. More...

Detailed Description

Initialization structure for the ISegment class.

All initial parameters can be set in this structure. Generally speaking, parameters listed in this structure are crucial to the initial contruction of the sound object, and so cannot be modified at run-time.

See also:
ISegment::Init()

Constructor & Destructor Documentation

SegmentInit::SegmentInit ( ) [inline]

SegmentInit constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void SegmentInit::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

Member Data Documentation

IDLS * SegmentInit::m_pDLS

This DLS object is used by the segment.

The segment will automatically call Lock() on the DLS interface, which increments an internal reference count and loads the DLS file whenever the segment is loaded, and calls Unlock() when it is unloaded.

std::string SegmentInit::m_sFileName

Source file used when creating segment object.

For Win32/DirectX platform, valid file types include DirectMusic segments, MIDI files, and wave files (uncompressed or ACM compressed).

The documentation for this struct was generated from the following file:
  • IAudio.h


Member List

SegmentInit Member List

This is the complete list of members for SegmentInit, including all inherited members.
  • Clear() [inline]
  • m_bLooping
  • m_bMusic
  • m_pDLS
  • m_sFileName
  • SegmentInit() [inline]


Sound3DInit Struct Reference

Initialization structure for the 3D ISound3D class. More...

#include <IAudio.h>

List of all members.

Public Methods

Sound3DInit ()
void | Clear ()

Public Attributes

std::string | m_sFileName
The file from which to load the sound data.

bool | m_bStreaming
Should the file be incrementally streamed from the disk?

bool | m_bLooping
Should the sound be continously looped?

bool | m_bMusic
Is this music?

uint32 | m_nPriority
User-defined sound priority setting. More...

Sound3DProp m_Prop
Used to set the initial properties of the sound. More...

Detailed Description

Initialization structure for the 3D ISound3D class.

All initial parameters can be set in this structure. Generally speaking, parameters listed in this structure are crucial to the initial contruction of the sound object, and so cannot be modified at run-time.

See also:
ISound3D::Init()

Constructor & Destructor Documentation

Sound3DInit::Sound3DInit ( ) [inline]

Sound3DInit constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void Sound3DInit::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

Member Data Documentation

Sound3DProp Sound3DInit::m_Prop

Used to set the initial properties of the sound.

All values in in Sound3DProp can also be set at run-time

See also:
Sound3SProp

uint32 Sound3DInit::m_nPriority

User-defined sound priority setting.

This value is used (among other determinations) when deciding which sound should be discarded if the buffer limit is reached.

The documentation for this struct was generated from the following file:
  • IAudio.h


Member List

Sound3DInit Member List

This is the complete list of members for Sound3DInit, including all inherited members.
  • Clear() [inline]
  • m_bLooping
  • m_bMusic
  • m_bStreaming
  • m_nPriority
  • m_Prop
  • m_sFileName
  • Sound3DInit() [inline]


Sound3DProp Struct Reference

Property class representing all commonly modified run-time sound properties. More...

#include <IAudio.h>

List of all members.

Public Methods

Sound3DProp ()
void | Clear ()

Public Attributes

AUDIOVECTOR | m_vPosition
Represents the sound's current position.

AUDIOVECTOR | m_vVelocity
Represents the sound's current velocity.

AUDIOVECTOR | m_vConeOrientation
Represents the sound's current orientation.

uint32 | m_nInsideConeAngle
Represents the inside angle of the sound cone in degrees. More...

uint32 | m_nOutsideConeAngle
Represents the outside angle of the sound cone in degrees. More...

float | m_fConeOutsideVolume
Volume outside the outer cone angle from AUD_VOLUME_MIN to AUD_VOLUME_MAX.

float | m_fMinDistance
Minimum distance at which a sound begins to attenuate with distance.

float | m_fMaxDistance
Maximum range at which a sound can be heard.

uint32 | m_nMode
Specifies the processing mode for this 3D sound. More...

float | m_fVolume
Set the volume from VOLUME_MIN (0.0) to VOLUME_MAX (1.0).

float | m_fPitch
Sets the target pitch.

uint32 | m_nReadCursor
Sets the position of the read cursor.

Detailed Description

Property class representing all commonly modified run-time sound properties.

This class represents all 3D parameters commonly modified at run-time. They are presented in a common structure to allow the game (or the engine) to retrieve and/or modify all 3D parameters of a sound with a single function call.

Constructor & Destructor Documentation

Sound3DProp::Sound3DProp ( ) [inline]

Sound3DProp constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void Sound3DProp::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

Member Data Documentation

uint32 Sound3DProp::m_nInsideConeAngle

Represents the inside angle of the sound cone in degrees.

This value is only valid from 0 to 360.

uint32 Sound3DProp::m_nMode

Specifies the processing mode for this 3D sound.

See also:
ISound3D::SetMode()

uint32 Sound3DProp::m_nOutsideConeAngle

Represents the outside angle of the sound cone in degrees.

This value is only valid from 0 to 360.

The documentation for this struct was generated from the following file:
  • IAudio.h


Member List

Sound3DProp Member List

This is the complete list of members for Sound3DProp, including all inherited members.
  • Clear() [inline]
  • m_fConeOutsideVolume
  • m_fMaxDistance
  • m_fMinDistance
  • m_fPitch
  • m_fVolume
  • m_nInsideConeAngle
  • m_nMode
  • m_nOutsideConeAngle
  • m_nReadCursor
  • m_vConeOrientation
  • m_vPosition
  • m_vVelocity
  • Sound3DProp() [inline]


SoundInit Struct Reference

2D sound initialization structure. More...

#include <IAudio.h>

List of all members.

Public Methods

SoundInit ()
void | Clear ()

Public Attributes

std::string | m_sFileName
The file from which to load the sound data.

bool | m_bStreaming
Should the file be incrementally streamed from the disk?

bool | m_bLooping
Should the sound be continously looped?

bool | m_bMusic
Is this music?

uint32 | m_nPriority
User-defined sound priority setting. More...

SoundProp m_Prop
Used to set the initial properties of the sound. More...

Detailed Description

2D sound initialization structure.

Initialization structure for the 2D ISound class. All initial parameters can be set in this structure. Generally speaking, parameters listed in this structure are crucial to the initial contruction of the sound object, and so cannot be modified at run-time.

See also:
ISound::Init()

Constructor & Destructor Documentation

SoundInit::SoundInit ( ) [inline]

SoundInit constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void SoundInit::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

Member Data Documentation

SoundProp SoundInit::m_Prop

Used to set the initial properties of the sound.

All values in in SoundProp can also be set at run-time

See also:
SoundProp

uint32 SoundInit::m_nPriority

User-defined sound priority setting.

This value is used (among other determinations) when deciding which sound should be discarded if the buffer limit is reached.

The documentation for this struct was generated from the following file:
  • IAudio.h
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

SoundInit Member List

This is the complete list of members for SoundInit, including all inherited members.
  • Clear() [inline]
  • m_bLooping
  • m_bMusic
  • m_bStreaming
  • m_nPriority
  • m_Prop
  • m_sFileName
  • SoundInit() [inline]
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


SoundProp Struct Reference

2D sound properties structure. More...

#include <IAudio.h>

List of all members.

Public Methods

SoundProp ()
void | Clear ()

Public Attributes

float | m_fVolume
Set the volume from VOLUME_MIN (0.0) to VOLUME_MAX (1.0).

float | m_fPan
Set the pan from PAN_LEFT (-1.0) to PAN_RIGHT (1.0).

float | m_fPitch
Sets the target pitch.

uint32 | m_nReadCursor
Sets the position of the read cursor.

Detailed Description

2D sound properties structure.

Structure containing general runtime-alterable properties of a 2D sound.

See also:
ISound::SetProperties(), ISound::GetProperties()

Constructor & Destructor Documentation

SoundProp::SoundProp ( ) [inline]

SoundProp constructor automatically calls Clear() to initialize the structure.

Member Function Documentation

void SoundProp::Clear ( ) [inline]

Sets all members either to an appropriate default value if it exists, or else to zero.

The documentation for this struct was generated from the following file:
  • IAudio.h
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

SoundProp Member List

This is the complete list of members for SoundProp, including all inherited members.
  • Clear() [inline]
  • m_fPan
  • m_fPitch
  • m_fVolume
  • m_nReadCursor
  • SoundProp() [inline]
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


ZoomFXBox Struct Reference

ZoomFXBox is used to set all ZoomFX orientation properties. More...

#include <IAudioExt.h>

Inheritance diagram for ZoomFXBox::

List of all members.

Public Methods

ZoomFXBox ()
Default constructor calls the Clear() function.

void Clear ()
Sets all members to their default values, as defined in zoomfx.h.

Detailed Description

ZoomFXBox is used to set all ZoomFX orientation properties.

ZoomFXBox is derived from the ZoomFX structure ZOOMFX_BOX. The structure is made slightly more user friendly by providing a Clear() function which resets all ZoomFX buffer properties to their default values. The Clear() function is also automatically called when the structure is created. Because it is derived from ZOOMFX_BOX, it can be used interchangeably with this structure since it is binary compatible.

The documentation for this struct was generated from the following file:
  • IAudioExt.h
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

ZoomFXBox Member List

This is the complete list of members for ZoomFXBox, including all inherited members.
  • Clear() [inline]
  • ZoomFXBox() [inline]
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


ZoomFXOrientation Struct Reference

ZoomFXOrientation is used to set all ZoomFX orientation properties. More...

#include <IAudioExt.h>

Inheritance diagram for ZoomFXOrientation::

List of all members.

Public Methods

ZoomFXOrientation ()
Default constructor calls the Clear() function.

void Clear ()
Sets all members to their default values, as defined in zoomfx.h.

Detailed Description

ZoomFXOrientation is used to set all ZoomFX orientation properties.

ZoomFXOrientation is derived from the ZoomFX structure ZOOMFX_ORIENTATION. The structure is made slightly more user friendly by providing a Clear() function which resets all ZoomFX buffer properties to their default values. The Clear() function is also automatically called when the structure is created. Because it is derived from ZOOMFX_ORIENTATION, it can be used interchangeably with this structure since it is binary compatible.

The documentation for this struct was generated from the following file:
  • IAudioExt.h
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

ZoomFXOrientation Member List

This is the complete list of members for ZoomFXOrientation, including all inherited members.
  • Clear() [inline]
  • ZoomFXOrientation() [inline]
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


ZoomFXProps Struct Reference

ZoomFXProps is used to set all ZoomFX buffer properties at once. More...

#include <IAudioExt.h>

Inheritance diagram for ZoomFXProps::

List of all members.

Public Methods

ZoomFXProps ()
Default constructor calls the Clear() function.

void Clear ()
Sets all members to their default values, as defined in zoomfx.h.

Detailed Description

ZoomFXProps is used to set all ZoomFX buffer properties at once.

ZoomFXProps is derived from the ZoomFX structure ZOOMFX_BUFFERPROPERTIES. The structure is made slightly more user friendly by providing a Clear() function which resets all ZoomFX buffer properties to their default values. The Clear() function is also automatically called when the structure is created. Because it is derived from ZOOMFX_BUFFERPROPERTIES, it can be used interchangeably with this structure since it is binary compatible.

The documentation for this struct was generated from the following file:
  • IAudioExt.h
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

ZoomFXProps Member List

This is the complete list of members for ZoomFXProps, including all inherited members.
  • Clear() [inline]
  • ZoomFXProps() [inline]
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Hierarchical Index

GAP Audio System Class Hierarchy

This inheritance list is sorted roughly, but not completely, alphabetically:
  • _EAXBUFFERPROPERTIES
    • EAXBufferProps
  • _EAXLISTENERPROPERTIES
    • EAXListenerProps
  • AudioMgrInit
  • AudioMgrStats
  • AudioScriptInit
  • BackgroundInit
  • DLSInit
  • IAudioBase
    • IAudioScript
    • IDLS
    • IPlayable
      • ISegment
      • ISound
      • ISound3D
      • ISoundScape
  • IAudioManager
  • IAudioStreamFactory
  • IEAXBuffer
  • IEAXListener
  • IListener
  • IMusicCallback
    • IMusicManager
  • ISoundManager
  • IStream
    • IAudioStream
  • IZoomFX
  • ListenerInit
  • ListenerProp
  • PeriodicInit
  • SegmentInit
  • Sound3DInit
  • Sound3DProp
  • SoundInit
  • SoundProp
  • ZOOMFX_BOX
    • ZoomFXBox
  • ZOOMFX_BUFFERPROPERTIES
    • ZoomFXProps
  • ZOOMFX_ORIENTATION
    • ZoomFXOrientation
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Compound Member Index

GAP Audio System Compound Members

a | b | c | d | e | g | i | l | m | o | p | q | r | s | t | u | z

Here is a list of all documented class members with links to the classes they belong to:

- a -

  • AddElement() : ISoundScape
  • AudioMgrInit() : AudioMgrInit
  • AudioMgrStats() : AudioMgrStats
  • AudioScriptInit() : AudioScriptInit

- b -
  • BackgroundInit() : BackgroundInit

- c -
  • CallRoutine() : IAudioScript
  • Clear() : PeriodicInit, BackgroundInit, ZoomFXProps, ZoomFXOrientation, ZoomFXBox, EAXBufferProps, EAXListenerProps, AudioMgrStats, AudioMgrInit, ListenerInit, ListenerProp, AudioScriptInit, SegmentInit, DLSInit, Sound3DInit, Sound3DProp, SoundInit, SoundProp
  • CreateAudioScript() : IAudioManager
  • CreateAudioStream() : IAudioStreamFactory, IAudioManager
  • CreateDLS() : IAudioManager
  • CreateSegment() : IAudioManager
  • CreateSound() : IAudioManager
  • CreateSound3D() : IAudioManager

- d -
  • Destroy() : IAudioBase
  • DLSInit() : DLSInit

- e -
  • EAX() : ISound3D
  • EAXBufferProps() : EAXBufferProps
  • EAXListenerProps() : EAXListenerProps

- g -
  • Get() : IListener, ISound3D
  • GetConeAngles() : ISound3D
  • GetConeOrientation() : ISound3D
  • GetConeOutsideVolume() : ISound3D
  • GetCurrentSegment() : IAudioManager
  • GetDistanceFactor() : IListener
  • GetDopplerFactor() : IListener
  • GetListener() : IAudioManager
  • GetMaxDistance() : ISound3D
  • GetMinDistance() : ISound3D
  • GetMode() : ISound3D
  • GetMusicVolume() : IAudioManager
  • GetNextSegment() : IAudioManager
  • GetNextTheme() : IMusicManager
  • GetOrientation() : IListener
  • GetPan() : ISound
  • GetPitch() : ISound3D, ISound
  • GetPosition() : IListener, ISound3D
  • GetProperties() : IZoomFX, IEAXBuffer, IEAXListener, IListener, ISound3D, ISound
  • GetReadCursor() : ISound3D, ISound
  • GetRolloffFactor() : IListener
  • GetSound() : ISoundManager
  • GetSound3D() : ISoundManager
  • GetSound3DInit() : ISoundManager
  • GetSoundInit() : ISoundManager
  • GetSoundVolume() : IAudioManager
  • GetSourceSize() : ISound3D, ISound
  • GetStats() : IAudioManager
  • GetVariable() : IAudioScript
  • GetVelocity() : IListener, ISound3D
  • GetVolume() : ISoundScape, ISound3D, ISound

- i -
  • Init() : ISoundManager, IMusicManager, IAudioManager, IListener, IAudioScript, ISegment, IDLS, ISound3D, ISound
  • IsInitialized() : ISoundManager, IMusicManager, IAudioManager, IAudioBase
  • IsLoaded() : IAudioBase
  • IsLooping() : IPlayable
  • IsPaused() : IPlayable
  • IsPlaying() : IPlayable

- l -
  • ListenerInit() : ListenerInit
  • ListenerProp() : ListenerProp
  • Load() : IAudioBase
  • LoadScript() : ISoundManager, IMusicManager
  • Lock() : IDLS

- m -
  • m_bAutoStream : AudioMgrInit
  • m_bCacheBuffers : AudioMgrInit
  • m_bForce2DSoftware : AudioMgrStats
  • m_bForce3DSoftware : AudioMgrStats
  • m_bForceSoftware : AudioMgrInit
  • m_bLoadAsyncronously : AudioMgrInit
  • m_bLooping : SegmentInit, Sound3DInit, SoundInit
  • m_bMusic : AudioScriptInit, SegmentInit, Sound3DInit, SoundInit
  • m_bStreaming : Sound3DInit, SoundInit
  • m_bUseEAX : AudioMgrInit
  • m_bUseMusicReverb : AudioMgrInit
  • m_bUseZoomFX : AudioMgrInit
  • m_fConeOutsideVolume : Sound3DProp
  • m_fDistanceFactor : ListenerProp
  • m_fDopplerFactor : ListenerProp
  • m_fMaxDelay : PeriodicInit
  • m_fMaxDistance : Sound3DProp
  • m_fMaxPitch : PeriodicInit, BackgroundInit
  • m_fMaxPitchTime : BackgroundInit
  • m_fMaxVolume : BackgroundInit
  • m_fMaxVolumeTime : BackgroundInit
  • m_fMinDelay : PeriodicInit
  • m_fMinDistance : PeriodicInit, Sound3DProp
  • m_fMinPitch : PeriodicInit, BackgroundInit
  • m_fMinPitchTime : BackgroundInit
  • m_fMinVolume : BackgroundInit
  • m_fMinVolumeTime : BackgroundInit
  • m_fPan : SoundProp
  • m_fPitch : Sound3DProp, SoundProp
  • m_fRolloffFactor : ListenerProp
  • m_fVolume : Sound3DProp, SoundProp
  • m_fXRange : PeriodicInit
  • m_fYRange : PeriodicInit
  • m_fZRange : PeriodicInit
  • m_hWnd : AudioMgrInit
  • m_n2DHardwareBufferMax : AudioMgrInit
  • m_n2DHardwareBufferMin : AudioMgrInit
  • m_n2DSoftwareBufferMax : AudioMgrInit
  • m_n2DSoundsLoaded : AudioMgrStats
  • m_n3DHardwareBufferMax : AudioMgrInit
  • m_n3DHardwareBufferMin : AudioMgrInit
  • m_n3DSoftwareBufferMax : AudioMgrInit
  • m_n3DSoundsLoaded : AudioMgrStats
  • m_nInsideConeAngle : Sound3DProp
  • m_nMode : Sound3DProp
  • m_nOptimalSampleBits : AudioMgrInit
  • m_nOptimalSampleRate : AudioMgrInit
  • m_nOutsideConeAngle : Sound3DProp
  • m_nPriority : Sound3DInit, SoundInit
  • m_nReadCursor : Sound3DProp, SoundProp
  • m_nSegmentMax : AudioMgrInit
  • m_nSegmentsLoaded : AudioMgrStats
  • m_pAudioStreamFactory : AudioMgrInit
  • m_pDLS : SegmentInit
  • m_pMusicCallback : AudioMgrInit
  • m_Prop : Sound3DInit, SoundInit
  • m_pSound : BackgroundInit
  • m_pSound3D : PeriodicInit
  • m_sFileName : AudioScriptInit, SegmentInit, DLSInit, Sound3DInit, SoundInit
  • m_sWorkingPath : AudioMgrInit
  • m_vConeOrientation : Sound3DProp
  • m_vOrientFront : ListenerProp
  • m_vOrientTop : ListenerProp
  • m_vPosition : ListenerProp, Sound3DProp
  • m_vVelocity : ListenerProp, Sound3DProp

- o -
  • OnSegmentStart() : IMusicCallback
  • Open() : IAudioStream

- p -
  • Pause() : IPlayable
  • PauseAll() : IAudioManager
  • PeriodicInit() : PeriodicInit
  • Play() : IPlayable
  • PlayTheme() : IMusicManager

- q -
  • QuerySupport() : IListener, ISound3D

- r -
  • RemoveAll() : ISoundManager, IMusicManager
  • RemoveTheme() : IMusicManager
  • ResetThemeItr() : IMusicManager
  • ResumeAll() : IAudioManager

- s -
  • SegmentInit() : SegmentInit
  • Set() : IListener, ISound3D
  • SetAirAbsorptionFactor() : IEAXBuffer
  • SetAirAbsorptionHF() : IEAXListener
  • SetBox() : IZoomFX
  • SetConeAngles() : ISound3D
  • SetConeOrientation() : ISound3D
  • SetConeOutsideVolume() : ISound3D
  • SetDecayHFRatio() : IEAXListener
  • SetDecayTime() : IEAXListener
  • SetDirect() : IEAXBuffer
  • SetDirectHF() : IEAXBuffer
  • SetDistanceFactor() : IListener
  • SetDopplerFactor() : IListener
  • SetEnvironment() : IEAXListener
  • SetEnvironmentDiffusion() : IEAXListener
  • SetEnvironmentSize() : IEAXListener
  • SetFlags() : IEAXBuffer, IEAXListener
  • SetMacroFX() : IZoomFX
  • SetMaxDistance() : ISound3D
  • SetMinDistance() : ISound3D
  • SetMode() : ISound3D
  • SetMusicVolume() : IAudioManager
  • SetObstruction() : IEAXBuffer
  • SetObstructionLFRatio() : IEAXBuffer
  • SetOcclusion() : IEAXBuffer
  • SetOcclusionLFRatio() : IEAXBuffer
  • SetOcclusionRoomRatio() : IEAXBuffer
  • SetOrientation() : IZoomFX, IListener
  • SetOutsideVolumeHF() : IEAXBuffer
  • SetPan() : ISound
  • SetPitch() : ISound3D, ISound
  • SetPosition() : IListener, ISound3D
  • SetProperties() : IZoomFX, IEAXBuffer, IEAXListener, IListener, ISound3D, ISound
  • SetReadCursor() : ISound3D, ISound
  • SetReflections() : IEAXListener
  • SetReflectionsDelay() : IEAXListener
  • SetReverb() : IEAXListener
  • SetReverbDelay() : IEAXListener
  • SetRolloffFactor() : IListener
  • SetRoom() : IEAXBuffer, IEAXListener
  • SetRoomHF() : IEAXBuffer, IEAXListener
  • SetRoomRolloffFactor() : IEAXBuffer, IEAXListener
  • SetSoundVolume() : IAudioManager
  • SetVariable() : IAudioScript
  • SetVelocity() : IListener, ISound3D
  • SetVolume() : ISoundScape, ISound3D, ISound
  • Sound3DInit() : Sound3DInit
  • Sound3DProp() : Sound3DProp
  • SoundInit() : SoundInit
  • SoundProp() : SoundProp
  • Stop() : IPlayable
  • StopAll() : IAudioManager

- t -
  • Term() : ISoundManager, IMusicManager, IAudioManager, IListener

- u -
  • Unload() : IAudioBase
  • Unlock() : IDLS

- z -
  • ZoomFX() : ISound3D
  • ZoomFXBox() : ZoomFXBox
  • ZoomFXOrientation() : ZoomFXOrientation
  • ZoomFXProps() : ZoomFXProps
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


File Member Index

GAP Audio System File Members

a

Here is a list of all documented file members with links to the documentation:

- a -

  • AudioMgr() : IAudio.h
Generated at Sun Jul 28 23:17:43 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Alphabetical index

GAP Audio System Compound Index

A | EAXBufferProps | IEAXBuffer | ISoundManager | SegmentInit
AudioMgrInit | EAXListenerProps | IEAXListener | ISoundScape | Sound3DInit
AudioMgrStats | I | IListener | IZoomFX | Sound3DProp
AudioScriptInit | IAudioBase | IMusicCallback | L | SoundInit
B | IAudioManager | IMusicManager | ListenerInit | SoundProp
BackgroundInit | IAudioScript | IPlayable | ListenerProp | Z
D | IAudioStream | ISegment | P | ZoomFXBox
DLSInit | IAudioStreamFactory | ISound | PeriodicInit | ZoomFXOrientation
E | IDLS | ISound3D | S | ZoomFXProps
Generated at Sun Jul 28 23:17:41 2002 for GAP Audio System by doxygen 1.2.8.1 written by Dimitri van Heesch, © 1997-2001


Member List

ISound Member List

This is the complete list of members for ISound, including all inherited members.
  • Destroy()=0 [pure virtual]
  • GetPan(float &fPan) const=0 [pure virtual]
  • GetPitch(float &fPitch) const=0 [pure virtual]
  • GetProperties(SoundProp &prop) const=0 [pure virtual]
  • GetReadCursor(uint32 &nBytes) const=0 [pure virtual]
  • GetSourceSize(uint32 &nBytes) const=0 [pure virtual]
  • GetVolume(float &fVolume) const=0 [pure virtual]
  • Init(const SoundInit &init)=0 [pure virtual]
  • IsInitialized() const=0 [pure virtual]
  • IsLoaded() const=0 [pure virtual]
  • IsLooping() const=0 [pure virtual]
  • IsPaused() const=0 [pure virtual]
  • IsPlaying() const=0 [pure virtual]
  • Load()=0 [pure virtual]
  • Pause()=0 [pure virtual]
  • Play()=0 [pure virtual]
  • SetPan(float fPan)=0 [pure virtual]
  • SetPitch(float fPitch)=0 [pure virtual]
  • SetProperties(const SoundProp &prop)=0 [pure virtual]
  • SetReadCursor(uint32 nBytes)=0 [pure virtual]
  • SetVolume(float fVolume)=0 [pure virtual]
  • Stop()=0 [pure virtual]
  • Unload()=0 [pure virtual]